DockerBuild
Docker Build
#Docker
1 1. 说明
之前介绍过用 commit 的方式生成新的 Docker Image,今天介绍用 Build 方式做 image,Build 方式需要写一个配置文件,然后利用当前是已存在的 image,按照配置文件进行调整生成新的 image。
相对来说,commit 方法更随意,我们用它将现场保存为 image,而 build image 生成的 image 更“干净”。
2 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 3. Dockerfile 常用命令
- FROM: 制作 image 时依据的基本 image
- RUN:制作 image 时执行的命令,一般在 Dockerfile 中多次出现
- CMD:启动 docker 时执行的命令,在 Dockerfile 中只出现一次
- ENV:设置环境变量
- COPY:制作 image 时,将文件系统中的文件复制到 Docker 镜像中
- WORKDIR:设置工作目录
- EXPOSE:设置向外暴露的端口
- VOLUME:设置容器与外界映射的目录
4 docker build 时设代理
4.1 使用 Docker 的系统级配置
Docker系统设置 中代理设置部分
5 4. 参考
- Docker 入门 02——Dockerfile 详解
- http://www.cnblogs.com/sorex/p/6481407.html
看/sbin/init 由谁提供:
1 | dpkg -L systemd-sysv | grep /sbin/init |
此外,“初始化”仅仅是 systemd 一个符号链接:
1 | $ ls -lthd /sbin/init |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.