对于docker知识体系还不熟悉的可以参照:Docker教程,涉及知识点如下
- 镜像知识:打包镜像、查看镜像
- 容器知识:查看容器、启动容器、查看日志
- dockerfile知识:编写dockerfile,自定义构建镜像
1.镜像打包
1.工程打jar包
步骤同:Linux打包部署,这里我直接提供打好的jar包以节约时间:📎linuxDemo.jar
2.编写dockerfile文件
dockerfile文件的编写原理:Docker教程 中的“3.DockerFile自定义镜像”,这里我们编写如下:
# 指定基础镜像 FROM ubuntu:16.04 # 配置环境变量,JDK的安装目录 ENV JAVA_DIR=/tmp/linux # 拷贝jdk和java项目的包 COPY ./jdk8.tar.gz $JAVA_DIR/ COPY ./linuxDemo.jar /tmp/app.jar # 安装JDK RUN cd $JAVA_DIR \ && tar -xf ./jdk8.tar.gz \ && mv ./jdk1.8.0_144 ./java8 # 配置环境变量 ENV JAVA_HOME=$JAVA_DIR/java8 ENV PATH=$PATH:$JAVA_HOME/bin # 暴露端口 EXPOSE 8090 # 入口,java项目的启动命令 ENTRYPOINT java -jar /tmp/app.jar
2.生成镜像
完整文件如下:📎jdk8.tar.gz📎linuxDemo.jar
这里我因为基础版本拉取失败,所以将JDK一起打包进去了,所以文件比较大
- 注意:上述命令执行路径:在对应DockerFile所在路径
3.运行容器
- 这里必须做端口映射,否则容器内端口我们是无法访问到,必须映射到宿主机
4.验证心跳