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

发布时间:2022-08-23 18:34:19 作者:yexindonglai@163.com 阅读(422)

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

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

2、实现

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

  1. -v /var/run/docker.sock:/var/run/docker.sock
  2. -v /usr/bin/docker:/usr/bin/docker

3、jenkins示例

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

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

  1. 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、进入容器

  1. docker exec -it jenkins bash

3、查看docker

  1. docker ps

关键字运维