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

相关推荐
渣渣盟4 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
小尘要自信4 小时前
小米摄像头怎么接入RTSP?Go2RTC转流、EasyNVR录像与公网访问教程
人工智能·docker·开源
我叫张小白。5 小时前
一个微服务电商+社区项目(瓷韵app)的技术深度复盘
docker·微服务·云原生·架构
程序员老油条20 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
大侠锅锅21 小时前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
小蓝波1 天前
docker 的命令
java·docker·容器
2301_801184751 天前
docker 工作
java·docker·容器
至乐活着1 天前
ELK日志系统从零搭建到实战:Nginx日志采集与可视化全攻略
nginx·elk·elasticsearch·docker·日志系统
想你依然心痛1 天前
AtomCode 在 DevOps 场景中的实战:CI/CD 流水线脚本自动生成
运维·ci/cd·docker·devops·自动化部署·github actions
摇滚侠1 天前
DockerHub 在国内有没有替代
docker