1、为什么要在docker中操作宿主机的docker
优点是:你既可以将你的具体需求容器化部署,又不用直接在宿主机上安装,而是可以直接在容器中操作宿主机的docker来实现。 至于缺点嘛,博主目前还没找到;
2、实现
实现这种需求,其实非常简单,你只需要将docker宿主机的docker文件和docker.sock文件挂载到容器中即可,在启动时添加以下参数即可:
-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文件
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、进入容器
docker exec -it jenkins bash
3、查看docker
docker ps