独自の 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 のタイムゾーン問題を解決する手順

推薦する

Mysqlツリー再帰クエリの実装方法

序文部門テーブルなどのデータベース内のツリー構造データの場合、部門のすべての従属部門または部門のすべ...

JavaScript offsetParent のケーススタディ

1. offsetParentの定義: offsetParentは子要素に最も近い位置に配置された親...

CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する例

テーマ今日は、CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する方法を説...

CSS3のall属性の使い方を理解する

1. 互換性以下のように表示されます。 互換性は問題ありません。IE を除き、他のブラウザは基本的に...

Dockerスペースがいっぱいでコンテナに入れない場合の解決策

トラブル発生が突然で、業務も迫っていたため、現場のスクリーンショットを撮る時間がありませんでしたので...

CentOS 7 で RPM パッケージを使用して MySQL 5.7.9 をインストールするチュートリアル

MySQL 5.7.9 のインストールチュートリアルを録画してみんなと共有しましょう環境の紹介:オペ...

mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

MySQL 8 Windows版 zipインストール手順(ダウンロードアドレス) 1. ZIPファイ...

MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

目次Linux - MyCat を使用して MySQL マスター スレーブの読み取り書き込み分離を実...

MySQLレジストリをクリアする方法

具体的な方法: 1. [ win+r ] を押して実行ウィンドウを開き、「regedit」と入力して...

CSS セレクタの 4 つのカテゴリ: 基本、組み合わせ、属性、疑似クラス

セレクターとは何ですか?セレクターの役割は、セレクターを介して要素を見つけ、CSS スタイルを要素に...

MySQL が InnoDB テーブルが独立したテーブルスペースか共有テーブルスペースかを判断する方法の詳細な説明

序文InnoDB はデータをテーブルスペースに保存します。デフォルト設定では、初期サイズが 10 M...

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...

10秒以内にMySQLデータベースに数百万件のレコードを挿入する実装

まず、次の質問について考えてみましょう。このような膨大な量のデータをデータベースに挿入するには、通常...

MySQL 圧縮版 zip のインストールに関する問題の解決策

本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...

CocosCreatorを使ってシューティングゲームを作る方法

製造手順を分析します。 1. リソースを準備してシーンを構築するオンラインでリソースを探すか、私のリ...