Docker可以通过阅读Docker中的指令来自动构建镜像 Dockerfile。Dockerfile是一个文本文档,其中包含用户可以在命令行上调用以组合图像的所有命令。使用docker build 用户可以创建自动构建,该构建连续执行多个命令行指令。目前我们上云的应用基本都是微服务,用到spring boot或者spring cloud框架,今天就简单举两个列子用Dockerfile构建程序的镜像。
一、 将一个war包的程序构建成镜像
想构建镜像,需要将war包,Dockerfile放在同一级目录下,还需要基础镜像才行
1.1、先拉取一个基础镜像,用来作为war包程序的运行环境(因为war包的运行是需要web环境的)
1.2、将war包和Dockerfile放在同一目录下,编写Dockerfile内容
注解:FROM: 拉取基础镜像
ADD:将这个TEST.war包移到tomcat的web目录下并解压
EXPOSE:服务暴露的端口
ENTRYPOINT: 用于设置容器启动后的第一个命令
1.3、构建镜像
我们可以看见整个构建镜像过程,并构建成功,用这个镜像运行一个容器看看:
容器运行正常,说明构建的镜像没问题
二、将一个java包的程序构建成镜像
需要将jar包,Dockerfile放在同一级目录下,同样需要基础镜像才行
1.1、先拉取一个基础镜像,用来作为jar包程序的运行环境(jar包的运行需要java环境才行)
1.2、将jar包和Dockerfile放在同一目录下,编写Dockerfile内容
注解: ENV: 用来设置环境变量
RUN: 相当于可以执行一些系统命令
WORKDIR: 相当于linux命令的cd
1.3、构建镜像
我们可以看见整个构建镜像过程,并构建成功,用这个镜像运行一个容器看看:
容器运行正常,说明构建的镜像没问题