对于docker知识体系还不熟悉的可以参照:Docker教程,涉及知识点如下
● 镜像知识:打包镜像、查看镜像
● 容器知识:查看容器、启动容器、查看日志
● dockerfile知识:编写dockerfile,自定义构建镜像
1.镜像打包
1.工程打jar包
步骤同:Linux打包部署,这里我直接提供打好的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.生成镜像
完整文件如下:
这里我因为基础版本拉取失败,所以将JDK一起打包进去了,所以文件比较大
● 注意:上述命令执行路径:在对应DockerFile所在路径
3.运行容器
● 这里必须做端口映射,否则容器内端口我们是无法访问到,必须映射到宿主机
4.验证心跳