docker部署springboot demo到vps

docker安装

首先检查docker是否安装

docker version



出现上述界面就是安装成功

如果没有安装docker的话,运行以下命令

删除旧版本的docker

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装依赖包(centos)

yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

安装docker

yum install docker

启动docker

systemctl enable docker
systemctl start docker

查看安装结果

docker version

配置镜像(如果是阿里云的服务器,安装后默认就是阿里云的docker镜像源,可以不用修改)

{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}

重启

systemctl restart docker

安装portainer,可视化界面

docker pull portainer/portainer

sudo docker volume create portainer_data

sudo docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

出现以下界面说明安装成功了

如果之前安装过,忘记密码,可以进行如下操作

停止正在运行的Portainer

docker stop "id-portainer-container"

运行重置命令

docker run --rm -v portainer_data:/data portainer/helper-reset-password

如果你的Portainer 挂载目录不是 portainer_data 则会提示

Unable to locate /data/portainer.db on disk

查看你的portainer 挂载信息

docker inspect "id-portainer-container"

需要运行的重置命令为:

docker run --rm -v /var/snap/docker/common/var-lib-docker/volumes/c822de987380b92b5372fad6a19fd26bc6748fadf7ca2e404674cd7bfdcaa387/_data:/data portainer/helper-reset-password

如果成功,输出应如下所示:


Password successfully updated for user: admin Use the following password to login: &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1

重新运行portianer

docker start "id-portainer-container"

下面就是进入主页面,可以进行更改密码

安装mysql

docker pull mysql

#MYSQL_ROOT_PASSWORD后面填写自己的root密码
docker run --name mysql80 -e MYSQL_ROOT_PASSWORD=123456-d mysql
#也可以运行如下命令,自动开启MySQL容器在后台运行
docker run -d --name mysql80 -e MYSQL_ROOT_PASSWORD=123456 --restart always mysql

阿里云安全组放行3306端口

使用navicat连接服务器的mysql

这时会出现错误

进入portainer界面mysql的console界面



mysql -uroot -p

此时连接成功

使用以下命令进行授权所有主机进行访问

# 修改授权,赋予任何主机访问数据库的权限
# mysql8.0以下
GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '123456' WITH GRANT OPTION; mysql8.0以上
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

navicat连接成功

然后建立数据库

将本地springboot项目打包成jar包

编写dockerfile

FROM openjdk:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD user.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

创建docker文件夹,将jar包与Dockerfile移动到该文件夹,进入该文件夹,运行命令:

docker build -t app .

查看镜像

docker images

运行镜像

docker run -d -p 8082:8888 app

访问地址,项目部署成功

docker部署springboot项目到服务器的更多相关文章

  1. 使用Cloud Toolkit部署SpringBoot项目到服务器

    由于我们经常发布项目到测试服,在测试服上调试一些本地无法调试的东西,所以出现了各种打包,然后上传.启动,时间都耗费在这无聊的事情上面了,偶然在网上看到IntelliJ IDEA有 Cloud Tool ...

  2. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  3. springboot(十七)-使用Docker部署springboot项目

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

  4. 超简单的 Docker部署 SpringBoot项目 步骤

    很久之前就用过,一直没有好好写篇博客,今天就总结一下 创建一个 SpringBoot项目 创建一个SpringBoot项目并打成jar包,结构如图 编写 Dockerfile文件 FROM java: ...

  5. Centos8.3、docker部署springboot项目实战记录

    引言    目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子.只有几台服务器的应用运维使用传统的tomc ...

  6. IDEA一键部署SpringBoot项目到服务器

    1. 安装Alibaba Cloud Toolkit插件 2. 配置部署环境 2.1 为本次部署设置一个名字 2.2 选择被部署文件的生成方式 IDEA提供了三种方式:Maven Build,Uplo ...

  7. docker 部署springboot项目【转载】

    https://www.cnblogs.com/ityouknow/p/8599093.html

  8. Docker快速上手之部署SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

  9. Docker部署Springboot+Vue项目

    1 docker使用nginx部署vue项目 1.1 打包vue项目 npm run build vue项目路径下会增加一个dist文件夹,里面就是网页文件 1.2 使用docker 拉取nginx ...

  10. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

随机推荐

  1. NoSQL之 Redis配置与优化

    目录 一.缓存概念 1.1 系统缓存 1.1.1buffer与cache 1.2 缓存保存位置及分层结构 1.2.1 DNS缓存 1.2.2 应用层缓存 1.2.3数据层缓存 1.2.4 硬件缓存 二 ...

  2. VUE中的$set与$delete的原理

    我们上文说了,Vue 是通过 Object.defineProperty 和重写数组的原型方法来达到监控数据的目的.但是,在某些情况下,上面两种方案无法做到监控数据的变化,例如: (1):当我们给对象 ...

  3. js循环中reduce的用法简单介绍

    reduce() 方法接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引 ...

  4. 遗传算法(启发式算法)—R实现

    遗传算法 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世纪70年代提出,该算法是根据大自然中生物体进化规律而设计提出的.是模拟达尔文生物进化论的自 ...

  5. Android ViewGroup的事件分发机制-源码分析

    为了更好的理解ViewGroup的事件分发机制,我们在自定义一个MyLinerLayout. public class MyLinearLayout extends LinearLayout { pr ...

  6. zookeeper重启,线上微服务全部掉线,怎么回事?

    注册中心zookeeper被重启,线上微服务全部掉线,怎么回事?! 最近因为一次错误的运维操作,导致线上注册中心zk被重启.而zk重启后发现所有线上微服务开始不断掉线,造成了持续30分钟的P0故障. ...

  7. PRINCE2核心知识点整理

    前言 PRINCE2,即 PRoject IN Controlled Environment(受控环境中的项目)是一种结构化的项目管理方法论,由英国政府内阁商务部(OGC)推出,是英国项目管理标准. ...

  8. Solon v2.2.10 发布,助力信创国产化

    Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有使用 Servlet.JavaEE 接口,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...

  9. Docker Compose 部署GitLab

    先决条件 Docker Engine和Docker Compose是必需的.请参阅在CentOS上安装Docker Engine. 建议使用4核的服务器,同时至少分配4G的内存,理论上4核4G可最多支 ...

  10. C语言快速入门教程1快速入门 2指令 3条件选择

    快速入门 什么是C语言? C是一种编程语言,1972年由Dennis Ritchie在美国AT & T的贝尔实验室开发.C语言变得很流行,因为它很简单,很容易使用.今天经常听到的一个观点是-- ...