Dockerfile之SpringBoot的镜像构建

编写Dockerfile

# 镜像来源的基础
FROM java:8
# 创建镜像容器时,会在Docker容器中创建对应的文件夹,因为SpringBoot内嵌的Tomcat工作路径需要这个文件夹。
VOLUME /tmp
# 拷贝宿主机的文件到容器中
COPY /usr/local/xxx.log /root/
# 构建Docker镜像时,传入参数
# 比如:docker build --build-arg JAR_NAME=manage-0.0.1-SNAPSHOT.jar
ARG JAR_NAME
# 复制jar包名称,简化名称
ADD ${JAR_NAME} app.jar
# docker容器中暴露出的端口,用于docker容器启动时,映射端口
# 比如:docker run -di --name 容器名称 -p 8080:8080 镜像名称,这里前面的8080对应宿主机的端口,后面的8080对应docker容器中的端口,意思就是将宿主机的8080端口和docker容器的8080端口映射上去
EXPOSE 8080
# 最后一步 执行命令
# 格式一:ENTRYPOINT exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar
# 格式二:ENTRYPOINT ["java", "${JAVA_OPTS}", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
ENTRYPOINT exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar

构建镜像

打镜像并启动

# 构建命令:docker build --build-arg JAR_NAME=manage-0.0.1-SNAPSHOT.jar -t app .

# 启动命令:docker run -di --name app01 -p 8080:8080 app

 

posted on 2022-04-20 21:34  lyjlyjlyj  阅读(249)  评论(0编辑  收藏  举报

导航