环境准备
1. 开启Docker服务端远程访问API
要想在windows中操作远程linux中的docker服务进程,那前提是必须开启docker远程API。
- Centos-7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# 编辑docker配置文件
vi /usr/lib/systemd/system/docker.service
# 将ExecStart开头的行,修改为如下:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 刷新配置
sudo systemctl daemon-reload
# 重新启动docker守护进程
sudo systemctl restart docker
# 确认是否成功。
ps -ef | grep docker
# 测试可以连接到docker api
curl 127.0.0.1:2375/info - Ubuntu-16.04
1 | # 编辑docker配置文件 |
2. 客户端配置docker_host
- win
新增系统环境变量DOCKER_HOST
1 | # 变量名:DOCKER_HOST |
应用配置docker插件
1. 开发Spring Boot应用
2. 添加maven插件配置
1 | <!-- spring boot 打docker镜像插件 --> |
2. 编写Dockerfile文件
新建src/java/docker源文件夹,并要其下创建Dockerfile文件
1 | FROM openjdk:8-jdk-alpine |
其中要注意:ADD命令中两个参数,源文件和目的文件,实际就是将我们可执行的jar文件,添加到镜像中。
其中源文件支持两种方式:
- 和docker进程在同一主机的文件系统的绝对和相对目录
- URL
构建项目
1. 打包构建镜像
配置好maven插件后,打开cmd,执行以下命令:
1 | mvn clean package docker:build -DskipTests |
然后慢慢等待,直到最后build成功。
2. 查看构建好的镜像
登陆linux,输入#docker images
发现自己的项目已经被编译成镜像了,可以启动容器运行镜像了,也相当于完成了项目的云部署