故事
首页
指南
  • Java
  • Python
  • Linux
  • 前端
  • Docker
  • 实践
  • 折腾
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
首页
指南
  • Java
  • Python
  • Linux
  • 前端
  • Docker
  • 实践
  • 折腾
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Docker

    • Dockerfile语法
    • 常用指令
      • Dockerfile给ubuntu换源
      • macOS运行容器时同步宿主机时间
      • MacOS中容器访问宿主机
      • 构建跨平台镜像
        • docker buildx
  • Docker-compose

    • docker-compose语法
  • 简介
  • docker
  • Docker
storyxc
2022-04-13

常用指令

# 常用指令

# Dockerfile给ubuntu换源

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
1

# macOS运行容器时同步宿主机时间

-e TZ=`ls -la /etc/localtime | cut -d/ -f8-9`
1

# MacOS中容器访问宿主机

可以用host.docker.internal来访问宿主机

https://docs.docker.com/desktop/networking/#use-cases-and-workarounds

# 构建跨平台镜像

# docker buildx

# 创建builder
docker buildx create --name cross-platform-builder --driver docker-container --use
# 执行构建
docker buildx build --platform linux/amd64,linux/arm64 -t 镜像名:tag [-o type=registry | --push] . 
# 查看推送到远程的镜像信息
docker buildx imagetools inspect 镜像名:tag
1
2
3
4
5
6

buildx 实例通过两种方式来执行构建任务,两种执行方式被称为使用不同的「驱动」:

  • docker 驱动:使用 Docker 服务程序中集成的 BuildKit 库执行构建。
  • docker-container 驱动:启动一个包含 BuildKit 的容器并在容器中执行构建。

docker 驱动无法使用一小部分 buildx 的特性(如在一次运行中同时构建多个平台镜像),此外在镜像的默认输出格式上也有所区别:docker 驱动默认将构建结果以 Docker 镜像格式直接输出到 docker 的镜像目录(通常是 /var/lib/overlay2),之后执行 docker images 命令可以列出所输出的镜像;而 docker container 则需要通过 --output 选项指定输出格式为镜像或其他格式。

docker buildx build 支持丰富的输出行为,通过--output=[PATH,-,type=TYPE[,KEY=VALUE] 选项可以指定构建结果的输出类型和路径等,常用的输出类型有以下几种:

  • local:构建结果将以文件系统格式写入 dest 指定的本地路径, 如 --output type=local,dest=./output。
  • tar:构建结果将在打包后写入 dest 指定的本地路径。
  • oci:构建结果以 OCI 标准镜像格式写入 dest 指定的本地路径。
  • docker:构建结果以 Docker 标准镜像格式写入 dest 指定的本地路径或加载到 docker 的镜像库中。同时指定多个目标平台时无法使用该选项。
  • image:以镜像或者镜像列表输出,并支持 push=true 选项直接推送到远程仓库,同时指定多个目标平台时可使用该选项。
  • registry:type=image,push=true 的精简表示。

https://waynerv.com/posts/building-multi-architecture-images-with-docker-buildx/

编辑 (opens new window)
上次更新: 2023/04/12, 16:43:16
Dockerfile语法
docker-compose语法

← Dockerfile语法 docker-compose语法→

Theme by Vdoing | Copyright © 2019-2023 story | 豫ICP备19046036号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式