Docker in docker
文章目录
在docker容器内运行docker一般是不被倡导的。但有些场景和业务上,需要在容器内使用docker对组件进行编译构建,不同的组件所需的依赖有不一致,不同自建相互之间的依赖很可能相互干扰(比如需要同一个组件的不同版本),因此docker-in-docker的解决方案被提出来了, 一般被用于CI或集成测试。
原理
通过将主机上的docker.sock挂载至容器内,实现共享主机的docker.sock,使得在容器内可以使用宿主机上的docker daemon;在容器中使用的docker pull push build image run 实际上使用的是宿主机的docker daemon;
通过将主机上的docker命令脚本挂载至容器,实现共享docker服务。
实现(centos7)
- 安装docker
由于我的yum源,有docker的安装文件,直接使用yum安装docker
yum install docker-ce -y
- 启动 docker
# 启动
systemctl start docker
# 开机自启
systemctl enable docker
# 查看docker的信息
docker info
- pull centos7 镜像
d