私はdockerに非常に慣れていないので、AWS EC2 AMIをdockerイメージにインポートしようとしています。イメージはm2 linuxイメージです。
また、イメージをプッシュして使用できるようにするプライベートDockerハブ(artifactory)をセットアップしました。ベースイメージから開始して更新せずにAMIをdockerイメージにインポートする手順は何ですか?.
説明へのポインタも機能します。
ここに私がそれをした方法があります。
/ dev/sda1 = snap-eb79b0b1
:15:true:gp2
パブリックUbuntu 14.04 AMIでインスタンスを起動する
スナップショットsnap-eb79b0b1からボリュームを作成します(インスタンスが実行されているのと同じリージョン内)。
ボリュームをインスタンスに/dev/sdf
としてアタッチします
ボリュームを/mnt
にマウント
mount /dev/xvdf /mnt
(または)
mount /dev/xvdf1 /mnt
https://docs.docker.com/engine/installation/ubuntulinux/
tar -c -C /mnt/ . | docker import - appcimage-master-1454216413
docker run -t -i 6d6614111fcb03d5ca79541b8a23955202dfda74995d968b5ffb5d45c7e68da9 /bin/bash
Dockerはdocker import
コマンドを使用してtarファイルからイメージを作成できます。 ドキュメント から:
Usage: docker import URL|- [REPOSITORY[:TAG]]
Create an empty filesystem image and import the contents of the tarball
(.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then optionally
tag it.
したがって、AMIイメージからtarアーカイブを作成し、それをdockerにフィードできるはずです。
Tarファイルcd
をディレクトリに作成し、tar
ツリーをそこから作成します。
cd /media/my-external-drive
tar -czvf /tmp/drive-image.tgz
そして、画像を作成するには...
docker import /tmp/drive-image.tgz
これにより、dockerized
コンテナーは実行時に正しいパスを作成できます。