【Docker】docker build与Dockerfile的实践

2023-05-16

基础

docker build * 命令用于使用 Dockerfile 创建镜像;Dockerfile可以是本地的、也可以是在线的、自定义的;

语法

docker build [OPTIONS] PATH | URL | -

OPTIONS参数说明:

--build-arg=[] :设置镜像创建时的变量;

--cpu-shares :设置 cpu 使用权重;

--cpu-period :限制 CPU CFS周期;

--cpu-quota :限制 CPU CFS配额;

--cpuset-cpus :指定使用的CPU id;

--cpuset-mems :指定使用的内存 id;

--disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

--force-rm :设置镜像过程中删除中间容器;

--isolation :使用容器隔离技术;

--label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

--no-cache :创建镜像的过程不使用缓存;

--pull :尝试去更新镜像的新版本;

--quiet, -q :安静模式,成功后只输出镜像 ID;

--rm :设置镜像成功后删除中间容器;

--shm-size :设置/dev/shm的大小,默认值是64M;

--ulimit :Ulimit配置。

--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

--network: 默认 default。在构建期间设置RUN指令的网络模式

实例

Dockerfile

FROM selenium/standalone-chrome-debug:2.53.1
MAINTAINER jwensh <jwensh@.com>

USER seluser

#==============================
# Generating the VNC password as seluser
# So the service can be started with seluser
#==============================

RUN mkdir -p ~/.vnc \
    && x11vnc -storepasswd 123456 ~/.vnc/passwd

USER root

#=====
# chinese
#=====

RUN apt-get update \
        && apt-get -y install ttf-wqy-microhei ttf-wqy-zenhei \
        && apt-get clean \
  1. 使用当前目录的 Dockerfile 创建镜像,标签为 selenium/standalone-chrome-debug-zh:2.53.1

    docker build -t selenium/standalone-chrome-debug-zh:2.53.1 .

  2. 使用URL github.com/..../standalone-chrome-debug 的 Dockerfile 创建镜像。

    docker build github.com/..../standalone-chrome-debug

  3. 也可以通过 -f Dockerfile 文件的位置:

    docker build -f /path/to/a/Dockerfile .

    docker build -t selenium/standalone-chrome-debug-zh:2.53.1 -f ./chrome-zh .

在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:

$ docker build -t selenium/standalone-chrome-debug-zh:2.53.1 .

Sending build context to Docker daemon 2.048 kB
Error response from daemon: Unknown instruction: RUNCMD
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Docker】docker build与Dockerfile的实践 的相关文章

随机推荐