ホームページ > バックエンド開発 > PHPチュートリアル > Docker: プライベート倉庫の構築

Docker: プライベート倉庫の構築

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 09:07:25
オリジナル
1214 人が閲覧しました

続けて、この記事ではプライベート倉庫を構築するための最も簡単な手順について説明します。

要約:

  1. レジストリイメージをインストールし、コンテナを起動します。
  2. CA 証明書 (別の方法は HTTP を直接使用することです。この手順は省略できます)
  3. ミラーを作成して公開します。

レジストリをインストールする最も簡単な方法は、既製のレジストリ イメージを直接プルすることです。

りー

それでは始めてください。

<code>docker pull registry</code>
ログイン後にコピー

ポート 5000 を外部サービスに公開し、同時にホスト マシンの /home/registry ディレクトリをウェアハウス ディレクトリとしてロードします。

これで、独自のイメージをこのウェアハウスにプッシュできるようになります。最初にイメージにタグを付けてから PUSH する必要があります:

<code>docker run <span>-p</span><span>5000</span>:<span>5000</span><span>-v</span> /home/registry:/tmp/registry registry</code>
ログイン後にコピー

このとき、必然的にセキュリティ エラーが報告されます:
Docker: プライベート倉庫の構築

エラーの説明からすると、HTTP を使用する方法と CA 証明書をインストールする方法の 2 つの解決策があるようです。

方法 1、HTTP として設定します。これにより、少し高速かつ簡単になります。 /etc/default/docker ファイルを変更して次の文を追加するだけです:

<code>docker tag java:<span>7</span>-jre hub<span>.wo</span><span>.cn</span>/yancheng/java
docker <span>push</span> hub<span>.wo</span><span>.cn</span>/yancheng/java</code>
ログイン後にコピー

その後、Docker を再起動して sudo service docker restart を実行すると、通常どおりプッシュできます。 sudo service docker restart,即可正常push了。

方法二,配置安全证书,略显麻烦,尤其是我们的docker registry在nginx后面。

首先,需要生成自己的证书(到服务器上操作),命令如下:

<code>DOCKER_OPTS=<span>"<span>$DOCKER_OPTS</span> --insecure-registry=hub.open.wo.cn"</span></code>
ログイン後にコピー

然后,我们配置一下Nginx,增加对HTTPS的支持。

<code>openssl genrsa -des3 -<span>out</span> hub<span>.key</span><span>2048</span>
openssl rsa -<span>in</span> hub<span>.key</span> -<span>out</span> hub_nopwd<span>.key</span>
openssl req -new -key hub_nopwd<span>.key</span> -<span>out</span> hub<span>.csr</span>
openssl x509 -req -days <span>3650</span> -<span>in</span> hub<span>.csr</span> -signkey hub_nopwd<span>.key</span> -<span>out</span> hub<span>.crt</span></code>
ログイン後にコピー

注意hub.crt和hub_nopwd.key的位置。重启nginx。

现在,需要将这个hub.crt弄到本地,按前面截图的提示放到相应目录下。即:/etc/docker/certs.d/hub.open.wo.cn

方法 2 のセキュリティ証明書の構成は、特に Docker レジストリが nginx の背後にあるため、少し面倒です。

まず、独自の証明書を生成する (サーバー上で操作する) 必要があります。コマンドは次のとおりです:
<code>server {
   listen       <span>443</span>;
   server_name  hub<span>.</span>wo<span>.</span><span>cn</span>;
   ssl  <span>on</span>;
   ssl_certificate      /usr/<span>local</span>/nginx/conf/hub<span>.</span>crt;
   ssl_certificate_key  /usr/<span>local</span>/nginx/conf/hub_nopwd<span>.</span>key;

   location <span>/</span> {
        proxy_pass http:<span>//10.250.251.20:5000;</span>
        proxy_redirect off;
        proxy_set_header Host <span>$host</span>;
        proxy_set_header x<span>-forwarded</span><span>-for</span><span>$remote_addr</span>;
   }
}</code>
ログイン後にコピー
次に、HTTPS のサポートを追加するように Nginx を構成します。 rrreee

Hub.crt と Hub_nopwd.key の場所に注意してください。 nginxを再起動します。

ここで、この Hub.crt をローカルで取得し、前のスクリーンショットのプロンプトに従って、対応するディレクトリに配置する必要があります。つまり、/etc/docker/certs.d/hub.open.wo.cn です。

🎜再度 docker を再起動すると、push が正常に実行されるようになります。 🎜🎜')​​.addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i 🎜').text(i)); }; $numbering.fadeIn(1700); }); }); 🎜 🎜 以上、Docker: プライベート ウェアハウスの構築について、その側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
docker install phpstudy
から 1970-01-01 08:00:00
0
0
0
DockerにSNMP環境をデプロイする
から 1970-01-01 08:00:00
0
0
0
docker: 無効な参照形式
から 1970-01-01 08:00:00
0
0
0
Dockerコンテナ間でのAPI呼び出し
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート