Docker 镜像

1. 镜像的获取方式

  • registry 拉取(online)
    • public
    • private
  • Dockerfile 构建(online)
  • file 文件导入(offline)

2. 镜像基本操作

  • 镜像拉取

    registry 下载一个镜像

    1
    docker image pull NAME[:TAG|@DIGEST]
  • 查看镜像列表

    1
    docker image ls
  • 显示一个或多个镜像详细信息

    1
    docker image inspect IMAGE [IMAGE...]
  • 删除镜像

    1
    docker image rm [OPTIONS] IMAGE [IMAGE...]

    -f, 强制删除

  • 导出镜像文件

    将一个或多个镜像保存到一个tar归档文件中(默认流式传输到标准输出)

    1
    docker image save [OPTIONS] IMAGE [IMAGE...]

    --output , -o写入文件, 而不是标准输出

  • 导入镜像文件

    从一个tar归档文件或标准输入加载一个镜像

    1
    docker image load [OPTIONS]

    —input , -i 从tar归档文件中读取,而不是从标准输入读取

  • 创建新的镜像

    从容器的更改创建新的镜像

    1
    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

    --author, -a 作者

    --change , -c 将 Dockerfile 指令应用于创建的镜像

    --message , -m 提交消息

    --pause , -p 默认为true, 在提交过程中暂停容器

    从Dockerfile构建镜像

    1
    docker image build [OPTIONS] PATH | URL | -

    | 名称,简写 | 默认值 | 描述 |
    | ————————————- | ——— | —————————————————————— |
    | --add-host | | 添加自定义主机到IP映射(主机:IP) |
    | --build-arg | | 设置构建时的变量 |
    | --cache-from | | 要视为缓存源的镜像 |
    | --cgroup-parent | | 容器的可选父cgroup |
    | --compress | | 使用gzip压缩构建上下文 |
    | --cpu-period | | 限制CPU CFS(完全公平调度程序)周期 |
    | --cpu-quota | | 限制CPU CFS(完全公平调度程序)配额 |
    | --cpu-shares-c | | CPU份额(相对权重) |
    | --cpuset-cpus | | 允许执行的CPU(0-3,0,1) |
    | --cpuset-mems | | 允许执行的内存节点(0-3,0,1) |
    | --disable-content-trust | true | 跳过镜像验证 |
    | --file-f | | Dockerfile的名称(默认为路径/Dockerfile) |
    | --force-rm | | 始终删除中间容器 |
    | --iidfile | | 将镜像ID写入文件 |
    | --isolation | | 容器隔离技术 |
    | --label | | 为镜像设置元数据 |
    | --memory-m | | 内存限制 |
    | --memory-swap | | 交换限制等于内存加交换:-1表示启用无限交换 |
    | --network | | 设置构建期间RUN指令的网络模式 |
    | --no-cache | | 构建镜像时不使用缓存 |
    | --platform | | 如果服务器支持多平台,则设置平台 |
    | --pull | | 始终尝试拉取更新版本的镜像 |
    | --quiet-q | | 抑制构建输出,并在成功时打印镜像ID |
    | --rm | true | 在成功构建后删除中间容器 |
    | --security-opt | | 安全选项 |
    | --shm-size | | /dev/shm的大小 |
    | --squash | | 实验性(守护程序)将新构建的层压缩为单个新层 |
    | --tag-t | | 名称和(可选)标签,格式为name:tag |
    | --target | | 设置要构建的目标构建阶段 |
    | --ulimit | | Ulimit选项 |