Dockerプライベート倉庫の構築と利用の詳細説明

Dockerプライベート倉庫の構築と利用の詳細説明

イメージは hub.docker.com に保存できますが、ネットワーク速度が比較的遅いです。内部環境にプライベートパブリックウェアハウスを構築する方がよい解決策です。今日は実際にプライベート docker ウェアハウスを構築します。

環境計画

必要なマシンは、docker プライベートサーバー倉庫のサーバーと、docker を使用する通常のマシンの 2 台です。 どちらのマシンも ubuntu16 バージョンのサーバーで、IP 情報は次のとおりです。

マシン名ip関数
dockerレジストリ192.168.119.148 Docker プライベート ウェアハウス サーバー
docker アプリ192.168.119.155 Dockerサービスを実行する通常のサーバー

マシンを準備する

この演習では、上記の 2 台のマシンは VMware 上に作成された 2 台の仮想マシンであり、両方に Docker サービスがインストールされています。詳細な作成およびインストールのプロセスについては、「Kubernetes under Rancher 1: Building Standardized VMware Images」を参照してください。後で間違いを避けるために、VMware 内の 2 つのイメージの名前をそれぞれ「docker-registry」と「docker-app」に変更することを忘れないでください。

仮想マシンが起動したら、まず /etc/hostname ファイルを変更し、2 台のマシンのホスト名をそれぞれ「docker-registry」と「docker-app」に変更してから、reboot コマンドで再起動してください。

プライベートリポジトリのインストール

docker-registry マシンにログインします (SecureCRT を推奨)。

プライベート ウェアハウス サービスを提供するために使用されるレジストリ コンテナーを起動するには、次のコマンドを実行します。

docker run --name docker-registry -d -p 5000:5000 レジストリ

以下のように、docker ps コマンドを実行してコンテナのステータスを表示します。


コンテナは正常に起動し、ポート 5000 を docker-registry のポート 5000 にマッピングして外部サービスを提供します。

コマンド curl -X GET http://127.0.0.1:5000/v2/_catalog を実行します。 受信した応答は次のようになります。 これは json オブジェクトであり、リポジトリに対応する値は空の json 配列であり、現在リポジトリにイメージがないことを示しています。

{"リポジトリ":[]}

プライベート倉庫が作成され、起動しました。それでは実際に使ってみましょう。

httpプロトコルプッシュをサポート

通常、アプリケーション サーバーは https を使用してイメージをウェアハウスにプッシュします。ここでは、コマンド ラインを使用して通常の http を使用したプッシュをテストするため、docker の起動パラメータを変更して、http プロトコルで動作できるようにする必要があります。

イメージをプッシュするマシンはdocker-appなので、このマシンにログインします(SecureCRTを推奨)。

/etc/default/docker ファイルを変更し、次の赤いボックスの内容を追加します。

/lib/systemd/system/docker.service を再度変更します。以下の赤いボックス内の内容のうち、最初の行が追加され、2 行目が変更されます。

次のコマンドを実行して、構成情報を再読み込みし、Docker サービスを再起動します。

systemctl daemon-reload;サービス docker 再起動

イメージをプライベートリポジトリにプッシュする

次に、docker-app でイメージをダウンロードし、そのイメージをプライベート ウェアハウスにプッシュします。

docker-app マシンにログインします (SecureCRT を推奨)。

以下に示すように、docker pull tomcat コマンドを実行して、hub.docker.com から最新バージョンの tomcat イメージをダウンロードします。

ダウンロード後、docker images を実行して、以下のようにイメージ情報を表示します。

上記の赤いボックスに示されているように、このイメージの ID は 3dcfe809147d なので、次のコマンドを実行して、このイメージにプライベート ウェアハウス IP のタグを追加し、後でプライベート ウェアハウスに正常にプッシュできるようにします。

docker タグ 3dcfe809147d 192.168.119.148:5000/tomcat

次に、docker images を実行してイメージ情報を表示します。次の図に示すように、新しいイメージが表示され、REPOSITORY は 192.168.119.148:5000/tomcat になります。

プッシュするには、次のコマンドを実行します。

ドッカープッシュ 192.168.119.148:5000/tomcat

以下のように、順調に進んでいることがわかります。

プッシュが成功したら、docker-app と docker-registry でそれぞれ curl -X GET http://192.168.119.148:5000/v2/_catalog を実行してプライベート ウェアハウスのイメージ情報を表示すると、次の内容が表示されます。

プライベートリポジトリイメージの使用

docker-app マシンで、まず次のコマンドを実行してローカル イメージを削除します。

docker rmi 192.168.119.148:5000/tomcat トムキャット

次に、次のコマンドを実行して、プライベート サーバー上のイメージを使用してコンテナーを作成し、ポート 8080 をマップします。

docker run --name tomcat001 -p 8080:8080 -idt 192.168.119.148:5000/tomcat

ローカルミラーがない場合は、次に示すように、プライベートサーバーにアクセスしてダウンロードします。

docker-app の IP は 192.168.119.155 なので、現在のコンピューターでブラウザーを開き、192.168.119.155:8080 と入力すると、以下に示すように、おなじみの Tomcat のウェルカム ページが表示されます。

これで実践演習は終了です。皆さんのプライベート倉庫構築に役立つことを願っています。皆様も123WORDPRESS.COMを応援して頂ければ幸いです。

以下もご興味があるかもしれません:
  • Docker で onlyoffice をインストールして展開する詳細なプロセス
  • Ubuntu Dockerのインストール、展開、シンプルなアプリケーション
  • CentOS7 システムへの Docker のインストールと展開および基本チュートリアル
  • CentOS 7の詳細解説:Dockerプライベートウェアハウスの構築と使い方
  • Docker Registry プライベート ウェアハウスを構築するための詳細な手順
  • インストールからアプリケーションのデプロイ、プライベートウェアハウスの構築までDockerの基本コマンド

<<:  Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

>>:  Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

推薦する

三角形を描画するための CSS 実装コード (border メソッド)

1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

MySQL 5.7.20 共通ダウンロード、インストール、設定方法と簡単な操作スキル(解凍版無料インストール)

早朝に MySQL 5.7.19 のインストールを終えたばかりですが、午前中に MySQL が最新バ...

CSS3.0 でネオンボタンアニメーション効果を実装するためのサンプルコード

今日は、CSS 3.0 で実装されたネオン ボタン アニメーション効果を紹介します。効果は次のとおり...

両端揃えレイアウトを実現する CSS 列のサンプルコード

1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...

Tomcatを使用して共有ライブラリを設定し、同じjarを共有する

デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...

MySQL 5.7.18 アーカイブ圧縮版のインストールチュートリアル

この記事では、MySQL 5.7.18アーカイブ圧縮版をインストールする具体的な方法を参考までに紹介...

Dockerを使用してGitlabを素早くデプロイする方法

1. GitLabイメージをダウンロードする docker pull gitlab/gitlab-c...

WeChatアプレットで計算機機能を実装する

この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください...

インターネット接続なしでLinux Centos7にアプリケーションをインストールする方法の詳細な説明

1. 前の章では、プログラムを yum リポジトリに直接インストールできることを学びましたが、そのた...

リアルタイムクロックを実装するネイティブJS

ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...

Linux の Makefile とは何ですか? どのように機能しますか?

この便利なツールでプログラムをより効率的に実行およびコンパイルしますMakefile は自動コンパイ...

Mysql ファジークエリが大文字と小文字を区別するかどうかの詳細な調査

序文最近、私は小さな個人ブログ プロジェクトを書くのに忙しくしています。 「グローバル検索」機能を実...

MySQL Community Server 8.0.11 のインストールと設定方法のグラフィックチュートリアル

最近、MySQL を始めとしてデータベースの知識を勉強し始めました。以下では、皆さんの参考になるよう...