イメージは 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を応援して頂ければ幸いです。
<<: Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策
>>: Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明
1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...
<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...
早朝に MySQL 5.7.19 のインストールを終えたばかりですが、午前中に MySQL が最新バ...
今日は、CSS 3.0 で実装されたネオン ボタン アニメーション効果を紹介します。効果は次のとおり...
1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...
デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...
この記事では、MySQL 5.7.18アーカイブ圧縮版をインストールする具体的な方法を参考までに紹介...
1. GitLabイメージをダウンロードする docker pull gitlab/gitlab-c...
この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください...
1. 前の章では、プログラムを yum リポジトリに直接インストールできることを学びましたが、そのた...
ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...
Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...
この便利なツールでプログラムをより効率的に実行およびコンパイルしますMakefile は自動コンパイ...
序文最近、私は小さな個人ブログ プロジェクトを書くのに忙しくしています。 「グローバル検索」機能を実...
最近、MySQL を始めとしてデータベースの知識を勉強し始めました。以下では、皆さんの参考になるよう...