Dockerドキュメントによると、独自のイメージを構築するには、常に、FROM
命令。
明らかに、Dockerインデックスには多数の画像から選択できますが、独自の画像を作成したい場合はどうなりますか?それは可能ですか?
base
私が正しく理解していれば、イメージはUbuntuからビルドされており、Debianイメージで実験したいと思います。さらに、Dockerがどのように機能するかを本当に理解したいのですが、base
画像はまだブラックボックスです。
Dockerドキュメントによると、独自のイメージを構築するには、常に、FROM
命令。
明らかに、Dockerインデックスには多数の画像から選択できますが、独自の画像を作成したい場合はどうなりますか?それは可能ですか?
base
私が正しく理解していれば、イメージはUbuntuからビルドされており、Debianイメージで実験したいと思います。さらに、Dockerがどのように機能するかを本当に理解したいのですが、base
画像はまだブラックボックスです。
回答:
ソロモンハイクスの引用:
「docker import」を使用すると、任意のtarballから新しいコンテナーを簡単に作成できます。例えば:
debootstrap raring ./rootfs tar -C ./rootfs -c . | docker import - flimm/mybase
docker
グループに追加するだけです。
docker import - flimm/mybase
代わりにdocker import flimm/mybase
debootstrap
およびtar
少なくとも下で実行する必要がありますfakeroot
。
(fatherlinuxにクレジット)から情報を取得しますhttp://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/良く説明し、
ファイルシステムのtarファイルを作成します。
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos6-base.tar /
ローカルにインストールされてimport
いない場合は、tarファイルを他のdockerシステムに転送します。
cat centos6-base.tar | docker import - centos6-base
これで、実行して確認できます。
docker run -i -t centos6-base cat /etc/redhat-release
dotcloudのスクリプト は最初の2つのステップを組み合わせており、混乱を招き、最初は複雑に見えます。
ドッキングウィンドウの公式ガイドライン使用debootstrap
もクリーンなファイルシステムを作ろうとしています。
手順1の方法は自分で判断できます。
独自のイメージを最初から作成するには、scratch
イメージを使用できます。
スクラッチの「イメージ」を使用すると、Dockerfileの次のコマンドをイメージの最初のファイルシステムレイヤーにするビルドプロセスに通知されます。
FROM scratch
ADD hello /
CMD ["/hello"]
http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-using-scratch
import
て、tarファイルから、2つの正規の回答があり、そのリンクが正規リソースです。