Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

今回は、実行中のコンテナをイメージにパッケージ化して Alibaba Cloud にアップロードし、他の場所でダウンロードしてより便利に使用できるようにします。

結局Dockerのインストールは難しくないのですが、問題はいくつかの特殊な設定が面倒なことです。なので、作ってしまえば次回はpullして実行するのがずっと楽になります。

まず、鏡の中に入ります。よくわからない場合は、前の章を読んでください。

[root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash

次に、イメージを更新します。

root@8bf811453641:/# apt-get update

ここで更新した後、終了する必要があります:

出口

次に、コンテナのコピーをコミットして新しいイメージを作成します。

[root@VM_0_4_centos bin]# docker commit -m "nginx_my" -a "szy" 8bf811453641 niginx_my/nginx:v1

sha コードが正常に返されました:

[root@VM_0_4_centos bin]# docker commit -m "nginx_my" -a "szy" 8bf811453641 niginx_my/nginx:v1
sha256:1836e4017c607fdd790068da627366e4e0c0cbe2c0dc53626f9a3fe0a2d03ab2

イメージが正常にパッケージ化されたことがわかります。

新しいコンテナを実行します。

[root@VM_0_4_centos bin]# docker run --name nginx_test2 -d -p 80:80 niginx_my/nginx:v1

新しいコンテナを実行して結果を確認できます。

この時点で、イメージが作成されました。画像をアップロードしましょう。

これは Alibaba Cloud にアップロードされたイメージ リポジトリであり、その後 GIT リポジトリにバインドされ、プルもここからプルされます。ここに記録があります。

また、ここから得た方法については、https://blog.csdn.net/jacksonary/article/details/78961612 にも感謝します。

Alibaba Cloud の制御バックエンドを入力します。

次に、イメージ リポジトリを作成します。

作成後、コード ソースを選択します。

これは比較的簡単で、リポジトリを GIT アカウントにバインドするだけです。縛るだけ。

作成が成功したら、ウェアハウス構成を入力します。

Alibaba Cloud はすでにプルとプッシュの手順を提供しているので、それを実行するだけです。

ここでは、画像を倉庫にアップロードする実験も行います。

指示をコピーしてアップロードするだけです。非常に簡単ですが、アップロード処理は少し遅くなります。

[root@VM_0_4_centos ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
niginx_my/nginx v1 1836e4017c60 16 時間前 125MB
hello-world 最新 4ab4c602aa5e 10日前 1.84kB
nginx 最新 06144b287844 13日前 109MB
[root@VM_0_4_centos ~]# docker ログイン --username=sun29550 registry.cn-qingdao.aliyuncs.com
パスワード:
警告! パスワードは暗号化されずに /root/.docker/config.json に保存されます。
この警告を削除するには、資格情報ヘルパーを構成します。
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 
ログインに成功しました
[root@VM_0_4_centos ~]# docker タグ [1836e4017c60] registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
参照の解析エラー: "[1836e4017c60]" は有効なリポジトリ/タグではありません: 参照形式が無効です
[root@VM_0_4_centos ~]# docker tag niginx_my/nginx:v1 registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
[root@VM_0_4_centos ~]# docker push registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
プッシュはリポジトリ [registry.cn-qingdao.aliyuncs.com/mysokou/soko_2] を参照します。
9e2c0a77e8a4: プッシュ
579c75bb43c0: プッシュ
67d3ae5dfa34: 押された
8b15606a9e3e: プッシュ
v1: ダイジェスト: sha256:49768cfb207e5a133d62f3f5a7e59723e7a8c3a0d2c81e4155b34561f557adfc サイズ: 1160

アップロードが成功したら、Alibaba のバックエンドに移動して、アップロードが成功したことを確認します。

DockerHUBアップロード方法を追加

私の鏡

タグを追加したら、そのままプッシュできます。プッシュする前にログインしました。

PS D:\Docker ツールボックス> docker ログイン
Docker ID でログインして、Docker Hub からイメージをプッシュおよびプルします。Docker ID をお持ちでない場合は、https://hub.docker.com にアクセスして作成してください。
ユーザー名: sun2955
パスワード:
ログインに成功しました

ログイン後すぐにプッシュ

PS D:\Docker ツールボックス> docker タグ nginx_my:0.1 sun2955/my_docker:v1
PS D:\Docker ツールボックス> docker push sun2955/my_docker:v1

結果:

プッシュはリポジトリ [docker.io/sun2955/my_docker] を参照します。
88353f831c90: プッシュ
f978b9ed3f26: プッシュ
9040af41bb66: プッシュ
7c7d7f446182: プッシュ
d4cf327d8ef5: プッシュ
13cb14c2acd3: プッシュ
v1: ダイジェスト: sha256:a7d0b9705e68a3c161174fb791656af8e85b1ed97d2a3342530763d55cf05482 サイズ: 1569
PS D:\Docker ツールボックス>
PS D:\Docker ツールボックス>
PS D:\Docker ツールボックス>

バックエンドに移動して画像を確認し、正常にアップロードすることができます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Springboot マイクロサービス パッケージング Docker イメージ プロセスの分析
  • SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)
  • Docker パッケージング ノード プロジェクトのプロセスの説明
  • Docker を使用して Web プロジェクトをデプロイし、イメージ ファイルにパッケージ化する方法の詳細な説明
  • jib を使用して Docker イメージをパッケージ化する
  • Dockerコンテナの基本システムイメージのパッケージ化の詳細な説明
  • docker pythonでパッケージングを実装する方法
  • Docker パッケージの Python コマンドの詳細な説明

<<:  MySQLのデッドロックチェック処理の通常の方法

>>:  Vue3 AST パーサー - ソースコード分析

推薦する

VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします

この記事では、VMware Workstation Pro で Win10 オペレーティング システ...

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

問題: IIS を通じて公開された Web サイトは F5 デバイスの背後に配置されています。透過的...

1つのSQL文でMySQLの重複排除が完了し、1つが保持されます。

数日前、ある要件に取り組んでいたとき、MySQL で重複レコードをクリーンアップする必要がありました...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...

Docker データボリュームの一般的な操作コードの例

開発者が Dockerfile を使用してイメージをビルドする場合は、イメージをビルドするときにデー...

dockerがredisを再起動するとmysqlデータが失われる問題を解決する

公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...

Nginx の break と last の違いの詳細な分析

まずは違いについて話しましょう最後に、書き換えられたルールは、次の場所と一致させるために書き換えられ...

JavaScript ファイルの読み込みとブロックの問題: パフォーマンス最適化のケーススタディ

まず質問させてください。HTML ページを作成するときに、外部から JS ファイルをインポートする場...

Ubuntu 20.04 オペレーティング システムの VMware インストール チュートリアル図

メモ: とにかく体験してみましょう。記録: NO.209この例の環境:仮想マシン: vmwareオペ...

RHEL8 で静的 IP アドレスを設定するさまざまな方法の簡単な分析

Linux サーバーで作業している場合、ネットワーク カード/イーサネット カードに静的 IP アド...

VUE 入門 イベント処理の学習

目次1. 関数バインディング2. パラメータと$eventを使用する3. 1つのイベントに複数の関数...

MySQL における in と exists の違いの詳細な説明

1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...

Centos7のシステム言語を簡体字中国語に変更する方法

例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...

VMware 上の CentOS に Oracle12.2 をサイレント インストールする詳細なグラフィック チュートリアル

環境準備: VMware+CentOS、jdk 1. システムディスクのサイズを確認する1. コマン...