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

推薦する

MySQL列挙型のテスト例

プロジェクトを開発しているとき、支払い済み、支払済み、クローズ済み、返金済みなどの注文ステータスなど...

Win10 での MySQL 8.0.15 のインストールと設定のグラフィック チュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Linux dirnameコマンドの具体的な使い方

01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...

Linux に setup.py プログラムをインストールする方法

まず次のコマンドを実行します: [root@mini61 setuptools-8.2.1]# py...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

Windows および Linux での Redis のインストールとデーモン設定

# Windows および Linux 上の Redis のインストール デーモン構成Redis の...

HTML+CSSで充電水滴融合特殊効果コードを実現

目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...

Linuxのpasswdコマンドの使用

1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...

ウェブサイトのパフォーマンスを向上させるために画像を最適化する方法

目次概要画像圧縮とはJPEG/JPG JPGの利点JPGの使用シナリオJPGの欠点MozJPEG を...

Zabbix上のすべてのホストのIPとホスト名を取得する

ザビックスZabbix ([`zæbiks]) は、WEB インターフェースに基づいて分散システム監...

nginx で複数の仮想ホストを設定する方法の例

nginx で仮想ホスト vhost を設定すると非常に便利です。 nginx設定ファイルnginx...

Linuxサーバー間のリアルタイムファイル同期の実現

使用シナリオ既存のサーバー A と B の場合、サーバー A の指定されたディレクトリ (たとえば、...