使用Docker部署SpringBoot 项目全流程记录,超详细!
目录引言需要的软件安装Docker官网对系统的要求安装和设置仓库安装mysql使用navicat 远程连接数据库将springboot项目打成jar包编写Dockfile文件引言我的linux环境为:centos:7服务器在国外,所以有一些操作像阿里云的端口安全组设置就不需要操作需要的软件xshell(用来连接linux服务器)xftp或fileZilla用来给linux服务器上传...
引言
我的linux环境为:
centos:7
服务器在国外,所以有一些操作像阿里云的端口安全组设置就不需要操作
需要的软件
- xshell(用来连接linux服务器)
- xftp或fileZilla用来给linux服务器上传文件
- sqlyog(或者navicat)在服务器上解析.sql脚本
- maven(idea自带) 用来打包
安装Docker
官网对系统的要求
OS requirements
To install Docker Engine, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.
The centos-extras repository must be enabled. This repository is enabled by default, but if you have disabled it, you need to re-enable it.
The overlay2 storage driver is recommended.
要求版本Centos7, 其版本不支持或未测试
经过我测试,的确在安装时会遇到依赖的错误所以干脆将Centos6 换成Centos7
安装和设置仓库
官方教程
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
这个仓库是官方的,如果太慢的换,换成阿里云镜像:
需要配置文件
可以自行百度
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装最新版的docker
sudo yum install docker-ce docker-ce-cli containerd.io
若要安装特定版本
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
例如要按照 docker-ce.x86_64 18.06.1.ce-3.el7
<VERSION_STRING> docker-ce-18.06.1
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
开启docker
sudo systemctl start docker
跑一个docker版的helloworld,类似于java的hello,测试是否安装成功
sudo docker run hello-world
安装mysql
从docker hub上查找mysql镜像
docker search mysql
从docker hub上拉取mysql,我拉取的mysql版本是mysql5.7
docker pull mysql:5.7
docker volume create mysql_data 创建数据挂载点(即存储数据的地方,这样即便mysql容器删除了,数据还是在)
docker volume create mysql_data
运行mysql,开放的端口是3306,密码是root, -d是后台运行
docker run --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker ps 查看容器创建成功
进入mysql 的容器内
docker exec -it 容器的id /bin/bash
进入mysql,
当可以进入时,说明mysql 没问题了,
通过docker restart 镜像名 可以重启镜像
docker restart mysql
使用navicat 远程连接数据库
运行本地的.sql 文件, 将远程数据库中增加数据
将springboot项目打成jar包
注意将applicayion.yml中密码改成你服务器上mysql的密码
打包后在target下会生成一个jar包
编写Dockfile文件
在 /home 目录下创建docker文件夹
mkdir /home/docker
使用xftp上传jar包
编写Dockerfile文件
vim Dockerfile
完整命令, vim的使用方法:点击i开始编写,编写完后点击esc,点击冒号,输入wq保存
FROM java:8
ADD emsdemo-0.0.2-SNAPSHOT.jar /emsdemo.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","/emsdemo.jar"]
#注意,docker命令全部大写,这是规定。
# From 关键字表示,jar包依赖的环境。java:8 相当于jdk1.8
FROM java:8
#ADD命令
# emsdemo-0.0.2-SNAPSHOT.jar:这是你上传jar包的名称。
# /emsdemo.jar:这是自定义的名称。但是注意要有之前的/
ADD emsdemo-0.0.2-SNAPSHOT.jar /emsdemo.jar
#MAINTAINER 作者名称。可以删除不写。
MAINTAINER Sizaif
#EXPOSE 项目暴露的端口号
EXPOSE 8080
#/blog.jar此处的名称要和ADD命令后面的一样。
ENTRYPOINT ["java","-jar","/emsdemo.jar"]
在docker文件夹下执行如下命令
docker build -t emsdemo:1.0 .
运行镜像
docker run -it --net=host --name emsdemo -d -p 80:8081 emsdemo:1.0
至此全部完成.
在浏览器访问就可以了
更多推荐
所有评论(0)