独自の Docker イメージを作成して Dockerhub にアップロードする方法

独自の Docker イメージを作成して Dockerhub にアップロードする方法

1. まず、自分のdockerhubアカウントを登録します。登録アドレス: https://hub.docker.com

2. Linuxサーバーのアカウントにログインします: docker login --username=qiaoyeye

3. https://hub.docker.com/ で必要なイメージを見つけます。

4. イメージをローカルにプルする: docker pull centos

5. jdkとtomcatソフトウェアをローカルに準備し、解凍してサーバーに配置します。

6. 新しいDockerfileファイルを作成し、大文字と小文字の区別に注意してください

#----------------------------------------------------------------------

#これはコメントです#ベースイメージ centos:latest を使用します

Centos:latest から
#画像作成者情報を指定します MAINTAINER qiaoyeye <<A href="mailto:[email protected]@163.com" rel="external nofollow" >[email protected]>

#イメージディレクトリを切り替えて/usrディレクトリに入ります(基本イメージはLinuxシステムなので、対応するディレクトリを表示するにはLinuxを参照してください)
ワークディレクトリ /usr

#jdkを保存するために/usr/の下にjavaディレクトリを作成します
mkdir javaを実行する

#ミラーディレクトリを/usr/javaに切り替える
ワークディレクトリ /usr/java

#jdkファイルを保存するため、/usr/javaの下にjdkディレクトリを作成します。RUN mkdir jdk

#ミラーディレクトリを/usr/java/jdkに切り替えます
ワークディレクトリ /usr/java/jdk

#ホストのjdkディレクトリにあるすべてのファイルをミラーの/usr/java/jdkディレクトリに追加します。ADD jdk /usr/java/jdk

#ミラーディレクトリを/optに切り替える
ワークディレクトリ /opt

#Tomcatファイルを保存するため、/optの下にTomcatディレクトリを作成します。RUN mkdir tomcat

#ホストマシンの tomcat ディレクトリにあるすべてのファイルをミラーの /opt/tomcat ディレクトリに追加します ADD tomcat /opt/tomcat

#環境変数ENV JAVA_HOME=/usr/java/jdkを設定します
環境変数 JAVA_BIN = /usr/java/jdk/bin
環境変数PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#コンテナの起動時に実行する操作を設定する CMD /opt/tomcat/bin/catalina.sh run

#----------------------------------------------------------------------

7. ミラーを作成します: docker build -tqiaoyeye/centos:latest。

最後のドットに注目

8. 作成されたDockerイメージを表示する

9. イメージ値をハブ ウェアハウスにアップロードします。

docker pushqiaoyeye/centos:最新

10. アップロードしたイメージがdockerhubのものではなく、イメージ名が: Docker ID/ウェアハウス名の場合、最初に: docker tag image ID Docker ID/ウェアハウス名: 新しいタグ名 (tag) を使用します。

sudo docker tag bd213262aa2cqiaoyeye/centos:latest

11. アップロードが成功したら、dockerhubにログインして確認します。

PS: Alibaba Cloud に画像をアップロードするにはどうすればいいですか? ? ?

Alibaba Cloudに画像をアップロードする手順は上記と同じです。食事カードの詳細な公式手順:https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details

1. Alibaba Cloud Dockerレジストリにログインする

$ sudo docker login --username=乔叶叶registry.cn-beijing.aliyuncs.com

ログインに使用するユーザー名は Alibaba Cloud アカウントのフルネーム、パスワードはサービスを有効にしたときに設定したパスワードです。

製品コンソールのホームページでログイン パスワードを変更できます。

2. レジストリからイメージを取得する

$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[イメージのバージョン番号]

3. イメージをレジストリにプッシュする

$ sudo docker login --username=乔叶叶registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[イメージのバージョン番号]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[イメージのバージョン番号]

例中の[ImageId]および[Image version number]パラメータは実際の画像情報に合わせて置き換えてください。

4. 適切なイメージリポジトリアドレスを選択する

ECS からイメージをプッシュするときに、イメージ リポジトリのイントラネット アドレスを使用することを選択できます。プッシュ速度が向上し、パブリック ネットワーク トラフィックが消費されなくなります。

使用しているマシンが従来のネットワーク内にある場合は、ログインするレジストリのドメイン名として、またイメージの名前空間プレフィックスとして、registry-internal.cn-beijing.aliyuncs.com を使用します。

使用しているマシンが VPC ネットワーク内にある場合は、レジストリにログインするためのドメイン名として、またイメージの名前空間プレフィックスとして、registry-vpc.cn-beijing.aliyuncs.com を使用します。

5. 例

「docker tag」コマンドを使用してイメージの名前を変更し、プライベート ネットワーク アドレス経由でレジストリにプッシュします。

$ sudo docker imagesリポジトリタグイメージID作成仮想サイズregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7日前 37.89 MB$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

「docker images」コマンドを使用してイメージを見つけ、イメージ名のドメイン名をレジストリのプライベート ネットワーク アドレスに変更します。

$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

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

以下もご興味があるかもしれません:
  • Dockerイメージ解析ツールのダイブ原理解析
  • Dockerfileを使用してApacheイメージを作成する方法
  • Docker イメージのローカル Elasticsearch ポート操作へのアクセス
  • スーパーバイザーによるDockerfileのマルチサービスイメージパッケージ操作
  • Dockerイメージの圧縮と最適化操作

<<:  この記事では、VUE の複数の DIV とボタン バインディングの Enter イベントを実装する方法を説明します。

>>:  MySQL 8.0 のタイムゾーン問題を解決する手順

推薦する

Vue3.0 でページング コンポーネントを手動でカプセル化する方法

この記事では、vue3.0の手動カプセル化ページングコンポーネントの具体的なコードを参考までに紹介し...

JavaScript PromiseとAsync/Awaitの詳細な説明

目次概要4つの例例1: 誕生日で説明する約束の基本例2: 数字当てゲーム例3: Web APIから国...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

CSS3 レーダースキャンマップのサンプルコード

CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...

LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセ...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

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

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

Linux で MySQL のデフォルト エンコーディングを変更する方法

開発プロセス中に、MySQL データベースを復元した後にデータベース データに文字化けが発生した場合...

すべてまたは逆の選択機能を実現するJavaScript

この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...

CSSセレクターでの正規表現の使用

はい、CSS にも正規表現があります (アーメン) CSS で目立つための 2 つの強力なツール: ...

HTML でさまざまなスペースの特徴と表現を探る (推奨)

I. 概要HTML テンプレートを作成するときに、テキスト レイアウトの手段としてスペースが使用さ...

MySQL グローバルロックとテーブルレベルロックの具体的な使用法

目次序文グローバルロックテーブルロックテーブルロックメタデータ ロック (MDL ロック)要約する参...

JavaScript デザインパターン プロキシパターンの学習

目次概要実装保護エージェント仮想エージェント画像の遅延読み込みを実現する仮想プロキシ概要プロキシ パ...

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

URLパラメータに基づくNginx転送

使用シナリオ:ジャンプ パスは、傍受された URL に応じて動的に構成する必要があります。これは、イ...