Docker in Docker 实践 on mac

在尝试tekton构建ci pipeline是,需要在k8 pod里build image,于是研究了如何docker in docker。

  1. 编写自己的dind docker image

    FROM docker:20.10.16-dind
    ENV DOCKER_HOST unix:///var/run/docker.sock

  2. docker build 自己的dind docker image并push到repo上

    docker build . -t cara/my-dind-docker:latest
    docker push cara/my-dind-docker:latest

  3. 启动container,并挂载本地的docker socket到该container

    docker run -v /var/run/docker.sock:/var/run/docker.sock -ti cara/my-dind-docker:latest /bin/sh

  4. 在container内部,使用docker指令就可以了

    carawang@docker_base %docker run -v /var/run/docker.sock:/var/run/docker.sock -ti cara/my-dind-docker:latest sh
    / #
    / # ls
    bin dev home lib64 mnt proc run srv tmp var
    certs etc lib media opt root sbin sys usr
    / # docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    21cfcc3e6a32 cara/my-dind-docker:latest "dockerd-entrypoint...." 6 seconds ago Up 5 seconds 2375-2376/tcp thirsty_cray
    da2c32df0751 cara/my-dind-docker:latest "dockerd-entrypoint...." 28 minutes ago Up 28 minutes 0.0.0.0:80->80/tcp, 2375-2376/tcp my-dind-container
    e0763051d1c4 gcr.io/k8s-minikube/kicbase:v0.0.44 "/usr/local/bin/entr..." 10 days ago Up 37 minutes 127.0.0.1:49709->22/tcp, 127.0.0.1:49710->2376/tcp, 127.0.0.1:49712->5000/tcp, 127.0.0.1:49713->8443/tcp, 127.0.0.1:49711->32443/tcp minikube
    / #

相关推荐
人鱼传说14 分钟前
docker desktop是一个好东西
运维·docker·容器
忆~遂愿1 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
说实话起个名字真难啊2 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙3 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_3 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
春日见4 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡4 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****5 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
logocode_li6 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
_运维那些事儿17 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算