应用容器化(Docker化)
完整的应用容器化过程主要分为以下几个步骤。
- (1) 编写应用代码。
- (2) 创建一个Dockerfile, 其中包括当前应用的描述、 依赖以及该如何运行这个应用。
- (3) 对该Dockerfile执行docker image build 命令。
- (4) 等待Docker将应用程序构建到Docker镜像中。
一旦应用容器化完成(即应用被打包为一个Docker镜像) , 就能以镜像的形式交付并以容器的方式运行了
分析Dockerfile文件的构成
-
Dockerfile主要包括两个用途。
- 对当前应用的描述。
- 指导Docker完成应用的容器化( 创建一个包含当前应用的镜像) 。
-
Dockerfile文件的构成
- 每个Dockerfile文件第一行都是FROM 指令。 FROM 指令指定的镜像会作为当前镜像的一个基础镜像层, 当前应用的剩余内容会作为新增镜像层添加到基础镜像层之上。
- Dockerfile中通过MAINTAINER 字段指定了当前镜像的维护者
- ENV key_value 设置环境变量(可以写多条例如安装JAVA环境时设置JAVA_HOME等环境变量)
- RUN command(例如mkdir test之类的命令)
- ADD 源目录或文件 目的目录或文件 :将宿主机的文件复制到容器内,如果是一个压缩文件,复制后会自动解压。
- COPY 源文件 目的文件:(同ADD,只不过不会自动解压)
- WORKDIR path_dir:设置工作目录
创建一个jdk环境的镜像的例子:
- 下载linux版本的jdk1.8安装包(tar),然后通过mobaXterm,上传到指定的目录
- 编写Dockerfile文件(D大写)
- 执行
docker build -t='jdk1.8' .
构建镜像(其中-t指定名称,. 代表Dockerfile的目录为当前目录)
- 至此,镜像创建完毕。