ドッキングウィンドウ民間倉庫を建設(SSL、認証)
環境:CentOSの7、ドッカー1.13.1
CentOSの7関連:
https://www.cnblogs.com/ttkl/p/11041124.html
ドッカー関連(サーバー):
- インストールのドッキングウィンドウ
yumをインストール-yドッカ-IO
- ドッキングウィンドウを起動し、ブートを設定します
ドッキングウィンドウの開始systemctl
systemctlは、ドッキングウィンドウを有効にします
- レジストリミラーを引っ張ります
ドッキングウィンドウプルレジストリ:2
- SSLの鍵生成
#SSL関連ディレクトリを作成し ます。mkdir〜/ 本命の #は、SSLキーの生成 2048 -nodes -sha256:-newkey RSA opensslのREQを -keyout本命/ test.registry.com.key -x509 -days 365 -out本命/ test.registry.comを.CRT
- ユーザーを作成します。
#レジストリのログイン・ユーザーフォルダを作成し ます。mkdir〜/ AUTH #プライベートユーザ作成 ドッカーRUNを--entrypoint htpasswdのレジストリ:2-BBNのADMINのADMIN>〜/認証/ htpasswdは #コンテナが実行削除に ドッカーSTOP [CONTAINER ID] ドッカーRM [IDコンテナ]
- 背景コンテナ(民間倉庫)
- 5000 --restart =常に:ドッカ5000 -p -d実行名のレジストリ\ -v〜/ AUTHを:/ AUTH \ -e " REGISTRY_AUTH =のhtpasswd " \ -e " REGISTRY_AUTH_HTPASSWD_REALM =レジストリレルム" \ -e REGISTRY_AUTH_HTPASSWD_PATH = /認証/ htpasswdは\ -v〜/データ:の/ var / libに/ レジストリ\ -v〜/ certsの:/ certsの\ -e REGISTRY_HTTP_TLS_CERTIFICATE = /本命/ test.registry.com.crt \ -e REGISTRY_HTTP_TLS_KEY = /本命/ テスト。 registry.com.keyの\の レジストリ: 2
ドッカー関連(クライアント):
暗号化通信をTLS:
- フォルダを作成します。
ます。mkdir / SSL
CD / SSL
- キーCAを作成します。
opensslのgenrsa -out -aes256 CA-key.pem 4096
- CA証明書を作成します。
openssl reqを-new -x509 -days 1000年-key CA-key.pem -sha256 -subj " / CN = * " -out ca.pem
- サーバーの秘密鍵を作成します
opensslのgenrsa -outサーバー-key.pem 4096
- 署名秘密鍵
opensslのREQ -subj " / CN = * " -sha256 -new -keyサーバー-key.pem -out server.csr
- CA証明書と秘密鍵証明書の署名を使用します
opensslのX509 -req -days 1000年-sha256 - で server.csr -CA ca.pem -CAkey CA-key.pem -CAcreateserial -outサーバー-cert.pemを
- クライアントキーの生成
opensslのgenrsa -out key.pem 4096
- 署名クライアント
opensslのREQ -subj " / CN =クライアント" -new -key key.pem -out client.csr
- プロフィールを作成
extendedKeyUsageの= CLIENTAUTH> extfile.cnfエコー
- 署名証明書
opensslのX509 -req -days 1000年-sha256 - で client.csr -CA ca.pem -CAkey CA-key.pem -CAcreateserial -out cert.pemを-extfile extfile.cnf
- 不要なファイルを削除します。
RM -rf ca.srl client.csr extfile.cnf server.csr
ドッキングウィンドウのプロフィール:
#の表示ドッキングウィンドウプロファイル systemctlステータスdocker.service #、設定ファイルを変更する2行を追加 ExecStart = ... --tlsverify --tlscacert = / SSL / ca.pem --tlscert = / SSL /サーバーのcert.pemを- = -tlskey / SSL /サーバ:key.pem -H UNIX:///var/run/docker.sockの-HのTCP://0.0.0.0:5555 ... #再起動ドッカー systemctl daemon- リロード systemctl再起動ドッカー。サービス
ネイティブ別名:
Linuxの場合:
#コンフィギュレーションファイルの場所 は/ etc / ホスト #は、行の追加 のIPサーバー名を
Windowsの場合:
#コンフィギュレーションファイルの場所を C:\ WINDOWS \ System32に\ drivers \ etcに\ホスト #は、行の追加 のIPサーバー名を