使用docker部署springboot项目到服务器的详细过程
作者:scmie
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
安装dockeryum 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项目到服务器的详细过程的文章就介绍到这了,更多相关docker部署springboot项目到服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- docker部署springboot项目启动时间与宿主机相差8小时的解决
- SpringBoot多模块打包部署Docker的项目实战
- dockerfile的使用及使用dockerfile部署springboot项目的过程
- Jenkins+Docker 一键自动化部署 SpringBoot 项目的详细步骤
- Gitlab-runner+Docker实现自动部署SpringBoot项目
- 如何利用Docker部署一个简单的springboot项目
- idea快速实现将SpringBoot项目打包Docker镜像并部署
- Docker部署SpringBoot应用的实现步骤
- Docker compose部署SpringBoot项目连接MySQL及遇到的坑
- 基于SpringBoot项目实现Docker容器化部署的主要步骤