Docker in Docker
ちょっと試した。
What is Docker in Docker?
Docker内でDockerを実行することは一般的に推奨されませんが、Docker自体の開発など、正当な使用例がいくつかあります。
dind
dind のイメージをrun。privileged は特権モード
$ docker run -it --privileged --name some-docker -d docker:stable-dind
dind のシェルに接続。
$ docker exec -it some-docker sh
dind のシェルに接続。dind内で docker run とかいろいろ試す。
/ # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES / # docker run hello-world : Hello from Docker! : / # docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 11 months ago 1.84kB / # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 474e499442ad hello-world "/hello" 7 minutes ago Exited (0) 7 minutes ago beautiful_perlman 4c897acfba25 hello-world "/hello" 9 minutes ago Exited (0) 9 minutes ago inspiring_saha
ホスト側からdind内は見えない。
$ docker ps -al CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a651d64cd588 docker:stable-dind "dockerd-entrypoint.…" 21 minutes ago Up 21 minutes 2375-2376/tcp some-docker