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 パーサー - ソースコード分析

推薦する

n 個のコンテナ要素による無限スクロールの実装コード

シナリオ最大 10000 要素のリストを正しくレンダリングする方法。無限ドロップダウン読み込みテクノ...

16進カラーコード(完全版)

赤とピンク、およびそれらの 16 進コード。 #990033 #CC6699 #FF6699 #FF...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

ウィンドウ内のさまざまな距離/スクロール距離の正確な計算の概要

通常、プロジェクト開発では、マージン、位置、座標などを扱う必要があります。悲劇なのは、これらの概念が...

JavaScript で実装された 7 つのソート アルゴリズムの概要 (推奨!)

目次序文バブルソート基本アルゴリズム2 番目の書き方は、基本的なアルゴリズムに基づいて改良されていま...

Vue における LocalStorage と SessionStorage の違いと使い方

目次LocalStorageとはSessionStorageとはLocalStorage と Ses...

MySQLテーブル構造を変更するコマンドを表示する

簡単な説明エディターはデータベースのエンコードが間違っているために問題に遭遇することが多く、これは頭...

Alibaba Cloud Server に MySQL データベースをインストールする詳細なチュートリアル

目次序文1. MySQLをアンインストールする2. MySQLをインストールする要約する序文学習中に...

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

さまざまなMySQLインデックスの使用方法の詳細な説明

1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...

アクセス速度を上げるためにウェブサイトを最適化する方法の更新

最近、同社はitpubを皮切りに、コーポレートウェブサイト傘下の全サイトの評価を開始した。そのために...

CentOS8でのDockerの使い方の詳しい説明

1. CentOS8でのDockerのインストール カール https://download.doc...

Linuxディレクトリ構造の詳細な紹介

Linuxを学び始めるときは、まずLinuxの標準ディレクトリ構造を理解する必要があります。 / r...

MySQLでSQL文がどのように実行されるかの詳細な説明

概要最近MySQL関連の知識を勉強し始めました。学んだ知識ポイントと自分の理解を元に整理して共有しま...

Reactの基本のまとめ

目次序文始めるReactライフサイクルリアクトファイバーリアクトセットステートReactイベントメカ...