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
    / #

相关推荐
小声读源码2 小时前
【技巧】离线安装docker镜像的方法
docker·镜像·技巧·离线
斤斤计较7 小时前
Docker 环境安装(2025最新版)
运维·docker·容器
小锋学长生活大爆炸7 小时前
【教程】Docker方式本地部署Overleaf
运维·docker·容器
欧先生^_^7 小时前
Docker 的各种网络模式
网络·docker·容器
掘金者说7 小时前
docker系列-DockerDesktop报错信息(Windows Hypervisor is not present)
运维·docker·容器
我不是秃头sheep12 小时前
Ubuntu 安装 Docker(镜像加速)完整教程
linux·ubuntu·docker
格桑阿sir15 小时前
Kubernetes控制平面组件:Kubelet详解(三):CRI 容器运行时接口层
docker·kubernetes·containerd·kubelet·cri-o·容器运行时·cri
dadeity18 小时前
Linux 离线安装 Docker 和 Docker Compose 最新版 的完整指南
linux·docker·docker-compose
东方未明01081 天前
docker(一)前言:高并发服务端技术架构的演进
docker·性能优化·高并发·虚拟化·容器化
yt948321 天前
Docker-基础(数据卷、自定义镜像、Compose)
运维·docker·容器