DockerBuild
Docker Build
#Docker
1. 说明
之前介绍过用 commit 的方式生成新的 Docker Image,今天介绍用 Build 方式做 image,Build 方式需要写一个配置文件,然后利用当前是已存在的 image,按照配置文件进行调整生成新的 image。
相对来说,commit 方法更随意,我们用它将现场保存为 image,而 build image 生成的 image 更“干净”。
2. 基本操作
(1) 看当前环境
1 | $ docker images |
看一下当前的 image,确定新的 image 是基于哪个 image,记下它的大版本号 (REPOSITORY) 和小版本号 (TAG)。
(2) 写配置文件 Dockerfile
1 | $ vi Dockerfile |
写入以下内容,我这里是安装了一个新 python 包 pyecharts
1 | FROM 基础大版本号:基础小版本号 |
(3) BUILD 新的 Docker image
1 | $ docker build -t 新的大版本号: 新的小版本号 . |
此时 docker 会从当前目录”.”中读取 Dockerfile,并按其设置建立新的 image
(4) 查看是否 BUILD 成功
1 | $ docker images |
3. Dockerfile 常用命令
FROM: 制作 image 时依据的基本 image
RUN:制作 image 时执行的命令,一般在 Dockerfile 中多次出现
CMD:启动 docker 时执行的命令,在 Dockerfile 中只出现一次
ENV:设置环境变量
COPY:制作 image 时,将文件系统中的文件复制到 Docker 镜像中
WORKDIR:设置工作目录
EXPOSE:设置向外暴露的端口
VOLUME:设置容器与外界映射的目录
4. 参考
(1) Docker 入门 02——Dockerfile 详解
http://www.cnblogs.com/sorex/p/6481407.html
看/sbin/init 由谁提供:
dpkg -L systemd-sysv | grep /sbin/init
此外,“初始化”仅仅是 systemd 一个符号链接:
$ ls -lthd /sbin/init
lrwxrwxrwx 1 root root 20 May 12 05:39 /sbin/init -> /lib/systemd/systemd