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

推薦する

Alibaba Cloud Centos7のインストールとSVNの設定

1. SVNサーバーをインストールする yum でサブバージョンをインストール2. SVNバージョン...

Dockerイメージサイズを最適化する一般的な方法

通常、私たちが構築する Docker イメージはサイズが大きく、多くのディスク領域を占有します。コン...

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScri...

HTMLテーブルレイアウトの実践的な使い方の詳しい説明

テーブルはいつ使用されますか?最近では、Web ページの全体的なレイアウトにテーブルが使用されること...

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

type=fileファイル変更フォームの名前が正常にエコーされない問題を解決

easyui フレームワークのコードは次のとおりです。 css: .ファイルボックス{ フロート:...

JavaScript オブジェクトからプリミティブ値への変換の詳細な説明

目次オブジェクトプロトタイプの値()オブジェクトプロトタイプtoString()シンボル.toPri...

Nginx Webサーバーのサンプルコードの設定方法の詳細な説明

概要今日は主に、NGINX を Web サーバーとして設定する方法を共有します。内容は次のとおりです...

MySQL テーブルの断片化を解消し、スペースを再利用する方法

目次MySQL テーブルの断片化の原因行の断片化行内断片化空き領域の断片化MySQL で極度に断片化...

Vue 開発者向けの VSCode 拡張機能ベスト 7

適切な VS Code 拡張機能を Visual Studio に追加すると、開発者としての作業がは...

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

仮想マシンを作成し、VMware に Redhat Linux オペレーティング システムをインストールする (グラフィック チュートリアル)

VMware で仮想マシンを作成し、Redhat Linux オペレーティング システムをインスト...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

データベースミドルウェアMyCatの紹介

1. Mycatの適用シナリオMycat は幅広いシナリオに合わせて開発されており、新しいユーザーが...