Edited at

Debian/UbuntuベースのDockerイメージに最速(?)でDockerをインストールする

CI用にcloud-sdk環境イメージを作ろうと思ったら、オフィシャルっぽいリポジトリを見つけDockerfileを確認。そこでのDockerのインストール方法が今まで見た中で一番簡単だったので、紹介したいと思います。

google/cloud-sdk

↑ たぶん、公式リポジトリで間違いないかと思います。一応、リンクをたどって行ったところ、githubリポジトリの一つがGoogle Cloudの公式ドキュメント内のサンプル用リポジトリのURLと一致していました。

※ 「違うぞ!」という場合は、コメントで教えて頂けるとありがたいです。


Dockerの簡単インストール

google/cloud-sdkのDockerfileからDockerのインストール部分だけを抜粋すると以下の通り

FROM docker:17.12.0-ce as static-docker-source

FROM debian:stretch

COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker

これでDocker付きDebianの完成です。

Ubuntu+最新(19.03.1)Dockerでも確認したところ、問題なく動作しました。

FROM docker as static-docker-source

FROM ubuntu

COPY --from=static-docker-source /usr/local/bin/docker /usr/local/bin/docker


雑感

FROM2つとかできるんですね。

マルチステージビルドという機能らしく、あるステージの生成物を他のステージにコピーすることができるという事です。

マルチステージビルドについては、以下を参照してください。