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

推薦する

ページコードの変更の効率を向上させ、HTML言語のコア知識を習得します。

ウェブサイトを構築するとき、HTML 言語は重要ではないと思われるかもしれませんが、実際には、基本的...

Windows 10にWSL2 Ubuntu20.04をインストールしてdocker環境を構築する方法

WSLを有効にするシステムがWindows 10 2004以降であることを確認してください 「メニュ...

CSS パフォーマンスの最適化 - will-change の使用方法の詳細な説明

will-change は、要素にどのような変更が行われるかをブラウザに伝え、ブラウザが事前に最適化...

Chromeブラウザ設定の新バージョンではクロスドメイン実装が可能

序文現在、フロントエンドは主に webpack の devServer の構成を通じてクロスドメイン...

Docker Compose を使用して nginx のロード バランシングを実装する方法

Dockerネットワーク管理とコンテナIP設定に基づいてNginxロードバランシングを実装するすべて...

CentOS 8 Zabbix 4.4 インストール ガイド

Zabbix サーバー環境プラットフォームZABBIX バージョン 4.4セントOS8 MySQL ...

ウェブフロントエンドに対する一般的な攻撃とその防止方法

ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...

Hタグはウェブページ制作において適切に使用すべきである

HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築この操作は、nginx+mysql+tomcat+dbのディレクトリ構...

Linux システムで .sh ファイルを実行する方法

Linux システムで .sh ファイルを実行する方法は 2 つあります。たとえば、ルート ディレク...

Linux での scp および sftp コマンドの詳細な説明

目次序文1. SCPの使用法2. sftpを使用する3. scp と sftp の違いは何ですか?ど...

テーブル切り替えのための JavaScript プラグインのカプセル化

この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考...

モバイルアダプティブスタイルで@mediaを使用する方法

一般的な携帯電話のスタイル: @media all および (orientation : 縦向き) ...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

LinuxでPythonの組み込みバージョンを削除する手順の詳細な説明

大きな落とし穴、Linuxシステムに付属するPythonのバージョンを簡単に削除しないでください1....