上篇讲到了SpringBoot制作成镜像,但是操作十分麻烦,需要手动拖拽到Linux上,并且还需要执行多的操作。本篇文章描述远程打包流程。
打包SpringBoot项目pom.xml内容
com.spotify
docker-maven-plugin
1.0.0
http://192.168.112.135:2375
office:1.0.0
true
${project.basedir}/src/main/docker
/
${project.build.directory}
${project.artifactId}.jar
创建Dockerfile
DockerFile 内容
# 基础镜像使用java FROM java:8 # 作者 MAINTAINER terry # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp VOLUME /tmp # 添加jar包到容器并重命名 ADD tools-office.jar office.jar # 运行jar包 RUN bash -c 'touch /office.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/office.jar"] # ENV JAVA_OPTS="-Xms512m -Xmx512m" # -Djava.security.egd=file:/dev/./urandom 加速tomcat启动 # ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar /demo.jar"] #暴露8080端口 EXPOSE 8080打包
使用Idea maven工具,找到package选项打包。
打包成功后会再target目录生成jar包
制作成Docker镜像开放docker私服端口供外部访问
-
编辑docker.service文件
vim /usr/lib/systemd/system/docker.service
-
在ExecStart追加配置(开放2375端口容易被黑客攻击,一般在内网设置)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
-
重启docker
systemctl daemon-reload service docker restart
使用maven docker插件找到docker:build选项
改操作是先制作成Docker镜像,并上传到私服。
上传成功后
docker查看镜像
运行镜像
docker run -d --name tools -p 8080:8080 -t tools:1.0.0
查看容器运行日志
docker logs -f -t --tail 50 tools



