实现在docker内使用docker有两种方法:挂载宿主机的文件到镜像内,使用宿主的docker服务;使用官方的docker:dind镜像。
使用宿主机docker
docker使用C/S架构,
启动镜像指令:
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-dit [image]
docker:dind
官方不建议使用这种方法,会带来存储和内存的一系列问题。镜像内核和发行版本为Linux 0a88e4e42e54 4.15.0-106-generic #107~16.04.1-Ubuntu SMP Thu Jun 4 15:40:05 UTC 2020 x86_64 Linux
。
使用docker run docker:dind
来获取镜像,镜像中没有apt、dpkg等工具。
使用Ubuntu官方镜像
使用ubuntu安装镜像会存在nat权限问题无法启动docker服务,查看启动日志路径:/lib/systemd/system/docker.service