Spring Boot与Docker部署
第一种:结合编辑器使用
1、开启Docker远程访问
首先需要开启docker远程访问功能,以便可以进行远程操作。
以centos7为例:打开/usr/lib/systemd/system/docker.service文件,修改ExecStart这行。
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock |
重启后生效
systemctl daemon-reload |
测试是否生效
curl http://127.0.0.1:2375/info |
2、新建maven工程
主要部分
<plugin> |
imageName:指定了镜像的名字
dockerDirectory:指定Dockerfile的位置
dockerHost:指定Docker远程API地址
resources:指那些需要和Dockerfile放在一起,在构建镜像时使用的文件,一般应用jar包需要纳入
3、创建Dockerfile
在src/main/docker目录下创建一个名为Dockerfile的文件,配置如下: 【一定要注意路径】
FROM java |
FROM java:指Docker Hub上官方提供的java镜像,有了这个基础镜像后,Dockerfile可以通过FROM指令直接获取它的状态——也就是在容器中java是已经安装的,接下来通过自定义的命令来运行Spring Boot应用。
VOLUME /tmp:创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录。
ADD docker-springboot-0.0.1-SNAPSHOT.jar app.jar:将应用jar包复制到/app.jar
ENTRYPOINT:表示容器运行后默认执行的命令
4、运行以下命令创建Docker镜像:
package docker:build
5、Docker启动镜像
CMD中执行docker images查看镜像是否上传成功
使用docker run -p 8888:8080 springboot/docker-springboot启动镜像
通过浏览器能访问即为成功
###第二种:单独使用
有些时候我们只是临时构建一下没必要那么麻烦
直接在含有Dockerfile的项目main目录下直接运行
mvn clean package docker:build |
即可构建完成并自动上传到本地仓库。