[解決済み】Docker-Hubを使用せずにDocker-Imageを共有するには?
質問
Dockerのイメージは、ローカルのホストマシンのどこに保存されているのでしょうか?
Docker-Imageを共有するために
Docker-Hub
または
Dockerfile
が、「本当の」Docker-Imageなのか?そして、Docker-ImageをDocker-Hubに'push'すると何が起こるのでしょうか?
解決方法は?
Dockerイメージはファイルシステムのレイヤーとして保存されます。Dockerfileの全てのコマンドはレイヤーを作成します。また、レイヤーを作成するには
docker commit
を変更した後、コマンドラインから (
docker run
おそらく)。
これらのレイヤーは、デフォルトでは
/var/lib/docker
. 理論的には)そこからファイルを選んで、別のDockerサーバーにインストールすることもできますが、Dockerが使用する内部表現を弄るのはおそらく悪い考えでしょう。
画像をプッシュすると、これらのレイヤーはレジストリ (デフォルトでは docker hub レジストリ。別のレジストリ接頭辞でタグ付けされていない限り) に送信され、そこに保存されます。プル時に、レイヤー ID はそのレイヤーがすでにローカルにあるのか、それともダウンロードが必要なのかをチェックするために使われます。レイヤー ID は
docker history
を使えば、どのレイヤー(他の画像)が使われているか(そしてある程度は、どのコマンドがそのレイヤーを作成したかも)覗き見ることができます。
docker hub のレジストリにプッシュせずにイメージを共有する方法としては、以下のようなものがあります。
-
docker save
画像またはdocker export
コンテナです。これは標準出力にtarファイルを出力するので、次のようなことをしたいでしょう。docker save 'dockerizeit/agent' > dk.agent.latest.tar
. 次にdocker load
またはdocker import
を別のホストで実行します。 -
自分専用のレジストリをホストする。- 時代遅れ、コメント参照 <ストライク をご覧ください。 ドッカーレジストリイメージ . を構築しました。 S3 バックアップレジストリ このバケツは必要に応じて起動したり停止したりすることができます(すべての状態は選択した s3 バケットに保存されます)。これはまた、レジストリにプッシュしたときに何が起こるかを見るための興味深い方法です。
-
のような別のレジストリを使用します。 quay.io (個人的には試していませんが)Docker Hubに関する懸念は、おそらくここでも適用されるでしょう。
関連
-
[解決済み] Dockerコマンドの--net=hostオプションは実際どうなのか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Dockerイメージの削除方法について教えてください。
-
[解決済み] Dockerの「expose」と「publish」の違いは何ですか?
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] dockerでビルド中に環境変数を設定する方法
-
[解決済み] Dockerfileで画像にタグを付けるには?重複
-
[解決済み] docker-composeで既存のイメージを更新する方法は?
-
[解決済み] DockerコンテナでPipeworkを使用する際に、RTNETLINK Operation Not Permittedが発生するのはなぜですか?
-
[解決済み】docker run <IMAGE> <MULTIPLE COMMANDS> (ドッカーラン)。
-
[解決済み】docker composeで環境変数を使用する方法
-
[解決済み】Dockerのイメージを削除する方法を教えてください。
-
[解決済み】アプリケーションのヘルスチェックに/healthzを使用する慣習はどこから来ているのでしょうか?
-
[解決済み】Docker-Compose 永続化データ MySQL
-
[解決済み】Dockerは使用量が多いのに、Dockerコンテナがない