docker in docker - 在docker容器中使用宿主机的docker

1、为什么要在docker中操作宿主机的docker

优点是:你既可以将你的具体需求容器化部署,又不用直接在宿主机上安装,而是可以直接在容器中操作宿主机的docker来实现。 至于缺点嘛,博主目前还没找到;

2、实现

实现这种需求,其实非常简单,你只需要将docker宿主机的docker文件和docker.sock文件挂载到容器中即可,在启动时添加以下参数即可:

shell 复制代码
-v /var/run/docker.sock:/var/run/docker.sock 
-v /usr/bin/docker:/usr/bin/docker

3、jenkins示例

下面,我们将启动一个Jenkins,并将宿主机的docker文件和docker.sock文件挂载到容器中, 然后进入容器,查看是否可以操作宿主的docker;

1、启动jenkins,并挂载docker文件

shell 复制代码
docker run -d -uroot -p 19090:8080 -p 50000:50000 --name jenkins -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker  jenkins/jenkins:latest-jdk8

2、进入容器

shell 复制代码
docker exec -it jenkins bash

3、查看docker

shell 复制代码
docker ps

相关推荐
ZYMFZ1 分钟前
Linux 防火墙 Firewalld
linux·运维·服务器
奔跑吧 android5 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 2】【通过一个案例属性list、hlist、rbtree、xarray数据结构使用】
linux·数据结构·list·kernel·rbtree·hlist·xarray
yzx9910135 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
橙*^O^*安7 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
NiKo_W7 小时前
Linux 文件系统与基础指令
linux·开发语言·指令
阿拉斯加大闸蟹8 小时前
基于RDMA 通信的可负载均衡高性能服务架构
运维·架构·负载均衡
Darkwanderor8 小时前
Linux 的权限详解
linux
SabreWulf20209 小时前
Ubuntu 20.04手动安装.NET 8 SDK
linux·ubuntu·avalonia·.net8
不是吧这都有重名9 小时前
为什么ubuntu大文件拷贝会先快后慢?
linux·运维·ubuntu
sunshine-sm9 小时前
CentOS Steam 9安装 Redis
linux·运维·服务器·redis·centos