ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを Docker ハブにプッシュして、インターネット上でダウンロードして使用することができます。 イメージを表示する [root@docker-test1 ~]# docker images リポジトリ タグ イメージ ID 作成 サイズ docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB myubuntu という名前のコンテナを作成します [root@docker-test1 ~]# docker run -ti --name myubuntu -d docker.io/ubuntu [root@docker-test1 ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 651a8541a47d docker.io/ubuntu "/bin/bash" 37 秒前 36 秒前 myubuntu docker commit : コンテナから新しいイメージを作成します。 # docker commit [オプション] コンテナ [リポジトリ[:タグ]] -a: 提出されたミラー作成者; -c: Dockerfile の指示を使用してイメージを作成します。 -m: 送信時の説明テキスト。 -p: コミット時にコンテナを一時停止します。 この myubuntu コンテナ [root@docker-test1 ~] に基づくイメージを送信します # docker commit -a "wangshibo" -m "this is test" 651a8541a47d myubuntu:v1 sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d イメージを再度確認すると、イメージ myubuntu:v1 がローカルの [root@docker-test1 ~]# docker images に送信されていることがわかります。 リポジトリ タグ イメージ ID 作成 サイズ myubuntu v1 6ce4aedd12cd 59 秒前 84.1 MB docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB mybuntu:v1 イメージを docker hub リポジトリにプッシュします # docker push [OPTIONS] NAME[:TAG] オプションの説明: --disable-content-trust: イメージ検証を無視します。デフォルトで有効になっています。まず、docker hub にログインします (ユーザー名: wangshibo パスワード: *******) [root@docker-test1 ~]# dockerログイン Docker ID でログインして、Docker Hub からイメージをプッシュおよびプルします。Docker ID をお持ちでない場合は、https://hub.docker.com にアクセスして作成してください。 ユーザー名 (wangshibo): wangshibo パスワード: ログインに成功しました [root@docker-test1 ~]# docker push wangshibo/myubuntu:v1 プッシュはリポジトリ [docker.io/wangshibo/myubuntu] を参照します タグ docker.io/wangshibo/myubuntu のイメージがローカルに存在しません ここで、ubuntu:v1イメージの名前を変更し、名前の前に独自のDockerハブのDocker IDを追加する必要があります。つまり、wangshiboです。 [root@docker-test1 ~]# docker タグ 6ce4aedd12cd wangshibo/myubuntu:v1 [root@docker-test1 ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ myubuntu v1 6ce4aedd12cd 6分前 84.1 MB wangshibo/myubuntu v1 6ce4aedd12cd 6分前 84.1 MB docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB もう一度プッシュします (注: 以下の v1 タグは省略できます。デフォルトは最新です)。プッシュ操作時間は少し長くなりますので、しばらくお待ちください〜 [root@docker-test1 ~]# docker push wangshibo/myubuntu:v1 プッシュはリポジトリ [docker.io/wangshibo/myubuntu] を参照します b5948ba9486d: プッシュ 8d7ea83e3c62: library/ubuntu からマウント 6a061ee02432: library/ubuntu からマウント f73b2816c52a: library/ubuntu からマウントされました 6267b420796f: library/ubuntu からマウント a30b835850bf: library/ubuntu からマウント v1: ダイジェスト: sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d サイズ: 1564 最後に、Docker Hub(https://hub.docker.com/)にログインします。 ログインすると、上でプッシュしたイメージ wangshibo/myubuntu:v1 がリポジトリに表示されます。これは外部イメージであり、インターネットからダウンロードできます。 このイメージのダウンロードコマンドはDocker hubで確認できます(ダウンロード時にはタグに従う必要があることに注意してください。最新のデフォルトタグの場合は省略できます) このイメージはDockerハブで直接削除することもできます(リポジトリ-イメージ-設定-削除) たとえば、このイメージを別のサーバー [root@kevin-test ~] にダウンロードします# docker pull wangshibo/myubuntu リポジトリ wangshibo/myubuntu をプルします リポジトリが見つかりません タグ [root@kevin-test ~] を最新の状態に保つ必要があります # docker pull wangshibo/myubuntu:v1 v1: wangshibo/myubuntu からプル 68e2a091ef24: プル完了 8f9dd35f6299: プル完了 a81a6171600b: プル完了 a211a2bc7010: プル完了 9e71a0b4f83a: プル完了 0cf75bb335aa: プル完了 c393a882769e: プル完了 ダイジェスト: sha256:845fa3dcc9d0de1b9c701e1009918995da35a29012015f6c297a05edc489e018 ステータス: wangshibo/myubuntu:v1 の新しいイメージをダウンロードしました [root@kevin-test ~]# docker イメージ リポジトリ タグ イメージ ID 作成 仮想サイズ wangshibo/myubuntu v1 c393a882769e 12 分前 84.11 MB このマシン上のこのイメージを削除します [root@docker-test1 ~]# docker images リポジトリ タグ イメージ ID 作成 サイズ myubuntu v1 6ce4aedd12cd 15分前 84.1 MB wangshibo/myubuntu v1 6ce4aedd12cd 15分前 84.1 MB docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB 上記では6ce4aedd12cdのイメージIDが2つあることに注意してください。この時点ではイメージIDを直接使用して削除することはできません [root@docker-test1 ~]# docker rmi 6ce4aedd12cd デーモンからのエラー応答: 競合: 6ce4aedd12cd を削除できません (強制する必要があります) - イメージが複数のリポジトリで参照されています まず、docker タグの名前を変更する前にイメージを削除し、イメージ名を使用して削除する必要があります。 (一般的に、docker タグ イメージの名前を変更した後は、名前を変更する前にイメージを削除するのが最適です) [root@docker-test1 ~]# docker rmi myubuntu:v1 タグなし: myubuntu:v1 タグなし: wangshibo/myubuntu@sha256:e9cd9075d262848a307c92751e1a5890d883b814a31abd118161442461a1ca2d [root@docker-test1 ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ wangshibo/myubuntu v1 6ce4aedd12cd 15分前 84.1 MB docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB この時点で、イメージID [root@docker-test1 ~]# docker rmi 6ce4aedd12cd を削除できます。 タグなし: wangshibo/myubuntu:v1 削除済み: sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d 削除済み: sha256:0ddeb6a16badd042914c2e72b9ef0331550c1cdcc4bdc6650a90cd9f57f1501b [root@docker-test1 ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ docker.io/ubuntu 16.04 7aa3602ab41e 5 週間前 115 MB 画像削除失敗例 [root@docker-test1 ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 [root@docker-test1 ~]# docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 docker の nginx イメージを削除したいのですが、削除できないようです。-f を追加しても削除できません。エラー: そのようなイメージはありません というメッセージが繰り返し表示されます。 ついにファイルを直接削除する方法を見つけました! [root@docker-test1 ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ nginx 最新 62f816a209e6 7日前 109MB [root@docker-test1 ~]# docker rmi nginx エラー: そのようなイメージはありません: nginx [root@docker-test1 ~]# docker rmi 62f816a209e6 エラー: そのような画像はありません: 62f816a209e6 [root@docker-test1 ~]# docker rmi 62f816a209e6 -f エラー: そのような画像はありません: 62f816a209e6 上記の通り、nginx イメージをまったく削除できません!!!! 解決: [root@docker-test1 ~]# systemctl dockerを停止します [root@docker-test1 ~]# rm -rf /var/lib/docker rm: '/var/lib/docker/containers' を削除できません: デバイスまたはリソースがビジーです 削除できない理由: コンテナが作成されたとき、対応するディレクトリがマウントされ、アンインストールされていないため、デバイスまたはリソースがビジー状態です。 解決策: マウントされたディレクトリを見つけてアンインストールします [root@docker-test1 ~]# cat /proc/mounts | grep "docker" /dev/mapper/centos-root /var/lib/docker/containers xfs rw、relatime、attr2、inode64、noquota 0 0 proc /run/docker/netns/default proc rw、nosuid、nodev、noexec、relatime 0 0 proc /run/docker/netns/a0626c54fd03 proc rw、nosuid、nodev、noexec、relatime 0 0 proc /run/docker/netns/b18072de4224 proc rw、nosuid、nodev、noexec、relatime 0 0 proc /run/docker/netns/b5298f643455 proc rw、nosuid、nodev、noexec、relatime 0 0 proc /run/docker/netns/9f5e97637c98 proc rw、nosuid、nodev、noexec、relatime 0 0 [root@docker-test1 ~]# /var/lib/docker/containers をアンマウントします [root@docker-test1 ~]# rm -rf /var/lib/docker [root@docker-test1 ~]# systemctl dockerを起動します もう一度確認すると、そのようなイメージはありません [root@docker-test1 ~]# docker images リポジトリ タグ イメージ ID 作成 サイズ 以上がDockerCommitでイメージを送信し、DockerPushでイメージをプッシュする手順です。コンテナの送信とイメージのプッシュの詳細については、123WORDPRESS.COMの他の関連記事もご覧ください。 以下もご興味があるかもしれません:
|
<<: 史上最もクリエイティブな404ページのデザインは、ウェブサイトのユーザーエクスペリエンスを効果的に向上させます
<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...
最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追...
これまでの 3 つの記事では、論理バックアップと物理バックアップを含む、MySQL データベースの一...
1. MySQL マスタースレーブ非同期1.1 ネットワーク遅延MySQLのマスタースレーブレプリケ...
目次序文事例: JD.com の虫眼鏡効果の模倣オフセットシリーズクライアントシリーズスクロールシリ...
この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...
RDF と OWL は、2 つの重要なセマンティック ウェブ テクノロジーです。 RDF と OWL...
目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...
目次背景関数目的アイデアの源成し遂げるセット得るプロパティの削除拡張機能を禁止するもっている要約する...
目次1. SparkとHadoopの比較1.1 Haoopの欠点1.2 Hadoop MR に対する...
最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...
オペレーティング システム: Win7 64 ビット Ultimate Edition MySQL ...
この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原...
アプリケーションが牛のように遅い理由は数多くあります。ネットワーク、システム アーキテクチャ、または...
mysqlrootパスワードの設定と変更初めて MySQL データベースに入ります。 !環境変数にm...