一、 背景介绍
- 工作中,要实现在docker中运行docker,实现镜像的拉取,创建,修改,上传等操作。
- 尝试过在docker中,安装docker。行不通,服务起不来。
- 而且直接在 docker 容器内嵌套安装 docker 未免太过臃肿。
- 外安装与运行Docker无疑增加了服务器镜像的大小,同时还增加Docker的深度。
二、 解决方法
更好的办法是:容器内仅部署 docker 命令行工具(作为客户端),实际执行交由宿主机内的 docker-engine(服务器)。
docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker 【镜像】 /bin/bash
三、 实践案例
- 测试镜像
关键点是:将宿主机 docker.sock 文件挂载到容器,实现容器内 docker 操作宿主机 docker 的目的。
docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker 【镜像】 /bin/bash
2. 可在容器内部可以只用dcoker命令,实现镜像的修改,构建等操作。
参考:https://blog.csdn.net/shida_csdn/article/details/79812817