最近 Docker を勉強しているのですが、よく問題に遭遇します。Docker イメージをダウンロードすると、よく知られているネットワーク上の理由により失敗します。Docker Hub Mirror などの国内ミラー サービスを使用するなど、オンラインで解決できる方法はたくさんありますが、個人的な理由 (幸いにも外国の VM を持っています) により、ダウンロードしたイメージを Docker レジストリ経由で共有することは好みません。 問題は明らかです:Docker レジストリを経由せずに、つまり Docker イメージのローカル移行を行わずに、マシン A 上の Docker イメージを他のマシンと共有します。 解決策も非常に簡単です。Dockerの保存および読み込みコマンドを使用します。具体的な手順は次のとおりです。 1. マシンA上のすべてのDockerイメージを一覧表示し、保存したいイメージ名を見つけます。 sudo docker イメージ 2. マシンAでdocker saveコマンドを使用して、イメージをtarファイルとして保存します。 sudo docker save イメージ名 -o ファイルパス ここで、image_name は、最初の手順で見つかった保存するイメージの名前に置き換えられます。 file_pathはエクスポートされたtarファイルのパスです(例:/home/tmp/image1.tar) 3. エクスポートしたイメージ tar ファイルをマシン B などの別のマシンに転送します。 scp などさまざまな方法を使用できますが、ここでは詳しく説明しません。 4. docker load コマンドを使用して、イメージを使用する必要があるマシン(マシン B など)にイメージ tar ファイルをロードします。 sudo docker load -i ファイルパス 注: さらに、Docker の export コマンドと import コマンドを使用して同様の機能を実現することもできます。export/save と import/load の違いはインターネットで確認できるので、ここでは詳しく説明しません。 基本的な違いは、エクスポートされるのはコンテナ(履歴とレイヤー情報なし)であるのに対し、保存されるのはイメージ(完全な履歴とレイヤー情報があり、レイヤーのロールバックをサポート)であることです。 補足: Dockerイメージのバックアップと移行 最初のステップ:すべてのコンテナを表示するにはdocker ps -aコマンドを使用します。 [root@localhost ~]# docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 9505a10e6d29 nginx "nginx -g 'daemon of..." 34 分前 終了 (0) 8 分前 mynginx 4c89fff9ac8c mysql:5.6 "docker-entrypoint.s..." 11日前 終了 (0) 11日前 mymysql 0abefefe2592 centos "/bin/bash" 2 か月前 終了 (255) 12 日前 mycentos ステップ2:コンテナはオブジェクトとして保存され、docker commitコンテナ名が保存されます [root@localhost conf]# docker commit mynginx mynginx_backup sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a ステップ3:保存した画像を表示する [root@localhost conf]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ mynginx_backup 最新 a6ca067596a2 19 秒前 109MB ステップ4:イメージバックアップ(tar ファイルとして保存)、docker save -o コンテナ名.保存する tar 名 [root@localhost ~]# docker save -o mynginx.tar mynginx_backup ステップ5:現在のディレクトリを表示する [root@localhost ~]# ls anaconda-ks.cfg conf データ initial-setup-ks.cfg java ログ mynginx.tar original-ks.cfg ステップ6:元の画像を削除して表示する [root@localhost ~]# docker rmi mynginx_backup タグなし: mynginx_backup:latest 削除済み: sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a 削除済み: sha256:facd3b28655186bdc7349bc017557ed80f94155831a8a3ed936f498e2f5b6b1c [root@localhost ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ ステップ7:イメージの復元、docker load -i パッケージ化されたコンテナのファイル名.tar [root@localhost ~]# docker load -i mynginx.tar ea4399e4dbe6: レイヤーを読み込んでいます [============================================================>] 6.656kB/6.656kB 読み込まれたイメージ: mynginx_backup:latest [root@localhost ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ mynginx_backup 最新 a6ca067596a2 7 分前 109MB ステップ8:このイメージを使用してコンテナを作成します [root@localhost ~]# docker run --name mynginx2 -p 80:80 -d mynginx_backup a4809747f3c233d5a8f0c35542449adda10c06305f32c32a55e4842630212760 ステップ9:ブラウザにIPアドレスを入力して成功するかどうかを確認します 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: HTML は、Web ページの作成者が学習して習得しなければならないものです。
Centos マシンで docker のインストールが完了したら、docker info コマンドを...
1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...
過去 N 秒間の QPS 値の統計 (1 秒あたりの選択、挿入などを含む) mysql> se...
nginx プロセス モデルでは、トラフィック統計、トラフィック制御、データ共有などのタスクを完了す...
コンポジション継承組み合わせ継承は、疑似古典的継承とも呼ばれます。これは、昨日説明したプロトタイプ ...
WeChatアプレット計算機の例、参考までに、具体的な内容は次のとおりです。インデックス.wxml ...
次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...
VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...
目次1. 環境整備1.1 オペレーティング システムのバージョン1.2 ディスク容量1.3 ファイア...
では、早速コードを見てみましょう。 1. 上部、中央、下部のレイアウト: <!DOCTYPE ...
MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...
目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...
1. 公式サイトにアクセスします: D:\mysql-5.7.21-winx64\bin をダウンロ...
1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...
目次CSS カスタム変数機能は古くから存在していますが、実際の開発ではあまり使用されていません。その...