Docker部署SpringBoot项目

两个教程:

步骤

  1. 按照第一个教程,在项目中新建Dockerfile文件及相应的文件夹。而后在maven中的pom文件中添加相应的插件和参数。
  2. 打包成为jar文件 (使用Maven中的package进行打包或使用mvn package)
  3. 而后将jar文件及Dockerfile上传到服务器文件夹中。
  4. cd到该文件夹中
  5. 执行docker build -t [images名称] . 
  6. 获得了该项目的imagesID后,执行
  7. docker run -d -p 80:80 --name [name实例名称] --link [mysql实例id]:[别名] [项目imagesID]

备注

  • 关于第六条命令,执行该条命令后。Docker会自动将Dockerfile依赖的父images下载,并和代码结合生成一个新的images。如果你没有命名Images名称,则为空。
  • 关于第八条命令,--link [该处填写目前需要连接的mysql实例ID]:[一般填写mysql]  //记得,冒号前者填写的是实例的id,后者填写mysql后。需要将配置文件中的127.0.0.1或localhost,修改为mysql。
  • [别名]可用于连接数据库 (具体可以看第二个教程)
  • 关于打包jar时数据库切换到服务器数据库的问题 - 先在本地打包好,而后用编辑器修改配置文件
  • 如果是国外的镜像,还需要考虑镜像时间不一致的问题。可以在docker run语句中增加“-v /etc/localtime:/etc/localtime”来同步宿主机时间。

Dockerfile 文件

FROM frolvlad/alpine-oraclejdk8:slim (这是父类images,容器将在此运行)
VOLUME /tmp
ADD [jar包名称].jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security .egd=file:/dev/./urandom -jar /app.jar" ]

欢迎访问我的博客 尺素书 https://www.chisushu.cn/85.html

原文地址:https://www.cnblogs.com/byuc/p/9627155.html