Moby: プライベートレジストリへのアクセス:x509:不明な機関によって署名された証明書

作成日 2014年10月30日  ·  39コメント  ·  ソース: moby/moby

ここに従って、nginxでdocker-registryをセットアップします。

'docker login'を実行すると、次のエラーが発生します:

# docker login -u docker -p docker -e [email protected] https://dev.registry.com
2014/10/30 11:12:08 Error response from daemon: Server Error: Post https://dev.registry.com/v1/users/: x509: certificate signed by unknown authority

dockerデーモンの出力:

[debug] server.go:1181 Calling POST /auth
[info] POST /v1.15/auth
[47687bb1] +job auth()
[debug] endpoint.go:109 Error unmarshalling the _ping RegistryInfo: json: cannot unmarshal bool into Go value of type registry.RegistryInfo
[debug] endpoint.go:113 Registry version header: '0.7.1'
[debug] endpoint.go:116 RegistryInfo.Version: "0.7.1"
[debug] endpoint.go:119 Registry standalone header: 'True'
[debug] endpoint.go:127 RegistryInfo.Standalone: true
[debug] endpoint.go:109 Error unmarshalling the _ping RegistryInfo: json: cannot unmarshal bool into Go value of type registry.RegistryInfo
[debug] endpoint.go:113 Registry version header: '0.7.1'
[debug] endpoint.go:116 RegistryInfo.Version: "0.7.1"
[debug] endpoint.go:119 Registry standalone header: 'True'
[debug] endpoint.go:127 RegistryInfo.Standalone: true
Server Error: Post https://dev.registry.com/v1/users/: x509: certificate signed by unknown authority
[47687bb1] -job auth() = ERR (1)
[error] server.go:1207 Handler for POST /auth returned error: Server Error: Post https://dev.registry.com/v1/users/: x509: certificate signed by unknown authority
[error] server.go:110 HTTP Error: statusCode=500 Server Error: Post https://dev.registry.com/v1/users/: x509: certificate signed by unknown authority

コードを確認しました。 ログイン機能が必要かもしれないと思います 'tlsConfig'
https://github.com/docker/docker/blob/master/registry/auth.go#L163

と同じように
https://github.com/docker/docker/blob/master/registry/registry.go#L49

# docker --version
Docker version 1.3.0, build c78088f
# curl --cacert ca.pem https://dev.registry.com/v1/_ping                 
true
# curl --cacert ca.pem -u docker:docker https://dev.registry.com/v1/users/
"OK"

# curl -u docker:docker https://dev.registry.com/v1/users/                
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

最も参考になるコメント

ありがとう、それも私のために働いた。 Ubuntu / Debianでの同等の手順:

  1. CA証明書を/usr/local/share/ca-certificatesコピーします。
  2. sudoupdate-ca-certificates
  3. sudo service docker restart

ただし、ここにはまだバグがあります。 ドキュメントには、CA証明書を/etc/docker/certs.d/<registry>にインストールするように書かれていますが、明らかにそれだけでは不十分です。 実際、証明書をグローバルにインストールした後、 /etc/docker/certs.dにある証明書を削除し、Dockerを再起動しましたが、それでも機能しました。

全てのコメント39件

@hustcat Docker 1.3.1以降、 --insecure-registry dev.registry.com:5000実行でき、5000をレジストリがリッスンしているポートに置き換えることができます。

これを終了しますが、問題が解決しない場合はコメントでお知らせください。

私はこれをここに残しておきますが、それを理解するのに数分かかり、誰かの時間を節約できるかもしれません。 コマンドは次のようになります。

%> docker --insecure-registry=docker-registry.example.com:8080 login https://docker-registry.example.com:8080

1.3のスイッチを配置していただきありがとうございます。

私は同じ問題に直面しています。 証明書の検証は、ping(およびプッシュ/プル)では機能しますが、ログインでは機能しません。

--insecure-registryフラグは回避策であり、修正ではありません。 CA証明書が/etc/docker/certs.d/<registry>にロードされている場合、証明書の検証は機能するはずですが、機能しません。

--insecure-registryを設定してイベントを機能させることはできません。RedHat7のdocker1.3.2を使用しています。

[ root @ ip-10-2-20-209 ec2-user] #docker --insecure-registry = qa.docker.repo login https://qa.docker.repo
ユーザー名:qa
パスワード:
Eメール: [email protected]
2015/01/19 14:26:40デーモンからのエラー応答:サーバーエラー:投稿https://qa.docker.repo/v1/users/ :x509:不明な機関によって署名された証明書

生成されたca.pemファイルを使用すると、curlは正常に機能します。

curl --cacert /home/ec2-user/ca.pem -u qa:xxxxx https://qa.docker.repo/v1/users/
"わかった"

dockerバージョン1.3.2とopensuse13.1でも同じ問題が発生しています。 --cafile cacert.pemをすべてのcurl呼び出しに静的に渡そうとしましたが(dockerは内部的にcurlを使用すると想定していたため)、これも役に立ちませんでした。

どんな助けでも大歓迎です。

ありがとう。
マリオ

この問題を見つける前に、#10150を開きました。 それらは同じ問題のようです。

私も同じ問題を抱えているようです。 Archlinuxクライアント1.4.1と公式のDockerコンテナから実行されているレジストリ。 誰か考えがありますか?

証明書を(ca-certificatesを介して)グローバルにインストールした場合は、グローバルSSL証明書が再ロードされないため、dockerを再起動してください。 そうは言っても、私のものはまだ機能していませんが、私は仕事でそれに遭遇しました:)

不機嫌そうに感謝します、それは私の側でトリックをしました、そしてそれはついにうまくいきます。 やった:

  1. http://curl.haxx.se/docs/caextract.htmlからcacert.pemを取得し
  2. cacert.pemファイルを/ etc / pki / trust / anchors /にコピーします
  3. sudoupdate-ca-certificates
  4. sudo systemctl docker stop
  5. sudo systemctl docker start

マリオ

ありがとう、それも私のために働いた。 Ubuntu / Debianでの同等の手順:

  1. CA証明書を/usr/local/share/ca-certificatesコピーします。
  2. sudoupdate-ca-certificates
  3. sudo service docker restart

ただし、ここにはまだバグがあります。 ドキュメントには、CA証明書を/etc/docker/certs.d/<registry>にインストールするように書かれていますが、明らかにそれだけでは不十分です。 実際、証明書をグローバルにインストールした後、 /etc/docker/certs.dにある証明書を削除し、Dockerを再起動しましたが、それでも機能しました。

@rhasselbaumが述べたように、これを再開するための+1

--insecure-registryはなくなりましたか?

$ docker --version
Docker version 1.8.2, build 0a8c2e3

$ docker --insecure-registry
flag provided but not defined: --insecure-registry
See 'docker --help'.

今何を使うべきですか?

それはdockerconfigファイルにあり、それが設定されているかどうかを確認できます。
Dockerプロセスには、-insecure-registryフラグが表示されます。

3:01の水、2015年9月16日には、クリス・ウィザース[email protected]
書きました:

--insecure-registryはなくなりましたか?

$ docker --version
Dockerバージョン1.8.2、ビルド0a8c2e3

$ docker --insecure-registry
フラグが提供されていますが、定義されていません:-insecure-registry
'docker--help'を参照してください。

今何を使うべきですか?


このメールに直接返信するか、GitHubで表示してください
https://github.com/docker/docker/issues/8849#issuecomment-140693481

docker pullコマンドで同じエラーが発生しましたが、次のように機能すると思います。
'.crt'ファイルであるSSL証明書をディレクトリにコピーします

sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
Ubuntuに/ usr / share / ca-certificatesからの相対的な「.crt」ファイルのパスを/etc/ca-certificates.confに追加させます

sudo dpkg-ca-certificatesを再構成します

マシンの状態が重要でない場合は、 docker-machine rm <machine-name>を実行して、別のマシンを作成できます;)

LetsEncryptを使用していて、適切なTLSなしで何も実行したくない場合は、中間体(REGISTRY_HTTP_TLS_CERTIFICATE = ... / fullchain.pemなど)を含む証明書の完全なチェーンを提供してください。 Dockerからのこのエラー。

乾杯!

Ubuntuの場合。 エラーが発生した場合:

  • x509:IP SANが含まれていないため、[IPアドレスまたはドメイン名]の証明書を検証できません

Dockerレジストリでは、次のように、subjectAltNameを使用して証明書をコンパイルする必要がありました。
https://docs.docker.com/engine/security/https/

便宜上、コードは次のとおりです。
$ echo subjectAltName = IP:10.10.10.20、IP:127.0.0.1> extfile.cnf
$ openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \
-CAcreateserial -out server-cert.pem -extfile extfile.cnf

次のコマンドを使用して、サブジェクト代替名が証明書に存在することを確認できたことに注意してください。
openssl x509 -incertificate.crt -text -noout

ただし、Ubuntu 14クライアント(つまりDockerエンジン)では
このエラーの後には
x509:不明な機関によって署名された証明書

Ubuntu14を使用している人向け。
Dockerエンジンに使用される構成ファイル(Dockerレジストリへの接続に使用したい):
/ etc / default / docker

そこで、dockerオプションを指定する必要があります。
DOCKER_OPTS = "-insecure-registry myinsecure .com:5000 "

次に、デーモンを再起動します(ユーザーがDockerサービスの開始を許可されていない場合はsudoを追加します)。
$ [sudo] service docker restart

値はドメイン名である必要はありません。証明書が登録されているものと一致する必要があります。 ポート付きのIPアドレスがあり、これは機能します...(つまり、100.100.100.100:100)

一日かかったので、他の人にも役立つことを願って投稿しています...

@JazzDebenコメントありがとうございます! 非常に便利 ! Let's Encriptcertbotで生成された証明書を使用してそれを行う方法がわかりません。
レジストリサーバーでこのエラーが発生します

tls: client didn't provide a certificate

ChromeはERR_BAD_SSL_CLIENT_AUTH_CERTについて文句を言う
私が含める場合

  tls:
...
    clientcas:
      - /path/to/ca.pem

@ cjw296 RHEL7.2の場合、ファイル/usr/lib/systemd/docker.serviceを編集し、 ExecStart行に--insecure-registry=your.docker.registry.com追加しました。

< ExecStart=/usr/bin/dockerd
---
> ExecStart=/usr/bin/dockerd --insecure-registry=your.docker.registry.com

次に、 sudo systemctl daemon-reloadを実行して構成の変更を取得し、続いてsudo systemctl restart docker 。 そして今、それは機能します。

正直なところ、私はまだsystemdの初心者であり、これをよりクリーンに行うためのより良い方法がおそらくあります。 しかし、私はこれに長い間苦労し、回避策を投稿したいと思いました。 私を正しい方向に導いてくれた@ cdub50に感謝します。

@ david-drinn Fedora 25の場合、私は同様のことをしましたが、dockerデーモン構成( /usr/lib/systemd/system/docker.service )が構成ファイルからセットアップをソースするため、 /etc/sysconfig/docker変更を加えました:

< # INSECURE_REGISTRY='--insecure-registry='
---
> INSECURE_REGISTRY='--insecure-registry=your.docker.registry.com'

curlが機能し、dockerが機能しない場合は、次のことができます。
o「/etc/docker/certs.d/」を作成します/ ... "ディレクトリとファイル(プライベートレジストリでのみ有効ですか?)
o「/etc/docker/daemon.json」ファイルに「tlscert」エントリを追加して、dockerdがcurlと同じ証明書を使用するようにします。

この問題が発生し、自己署名証明書があり、「insecure-registry」ディレクティブを使用したくない場合は、自己署名証明書を/etc/docker/certs.d/{host}/にロードする必要があります。 それらをロードした後、dockerデーモンを再起動することを忘れないでください。 もう少し詳しく説明するには.....

レジストリがhttps://exampleregistry.comでホストされている場合は、自己署名証明書を含む/etc/docker/certs.d/exampleregistry.comというディレクトリが必要です。 これで、x509エラーなしでdocker login exampleregistry.comを実行できるようになります。
ここにすべての警告があります。何らかの理由で、ログインコマンドでこのdocker login exampleregistry.com:443ようにポートを明示的に定義したいとします(これは意味がありませんが、これは単なる例です)。自己署名証明書が/etc/docker/certs.d/exampleregistry.com:443/というフォルダー内にあることを確認します。 Dockerは、ポートを使用する場合にのみ、ホスト名に基づいて証明書が解決されることを想定していません。 アクセスしようとしているポートを含むフォルダー名に自己署名証明書をロードすることにより、実際にはポートごとに証明書を提供する必要があります。

うまくいけば、これにより、ポートを使用してDockerレジストリに接続している多くのデバッグを節約できます。

私の場合、これは解決されません。
ネクサスOSSリポジトリに自己署名証明書を使用したい。 しかし、私はこのエラーを受け取ります:デーモンからのエラー応答:https://を取得します:10250 / v1 / users /:x509:不明な機関によって署名された証明書

.crtファイルを/etc/docker/certs.dとubuntu16.04 omIntelマシンの/ usr / share / ca-certificatesに配置しました。 次にupdate-ca-certificatesを実行し、dockerを再起動しました。 これは私の証明書ファイルnexus.certです:
$ openssl x509 -in nexus.crt -text

Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=IN, ST=State, L=City, O=XYZ, OU=x, CN=<mydomain.com>
        Validity
            Not Before: Jul 17 20:28:26 2017 GMT
            Not After : Jul 17 20:28:26 2018 GMT
        Subject: C=IN, ST=State, L=City, O=XYZ, OU=x, CN=<mydomain.com>
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:b8:2c:97:c2:e4:bf:7a:e1:49:22:9b:a2:90:7a:
                    3a:de:3d:d3:f5:e9:c9:8b:9b:c8:13:37:4b:36:32:
                    4f:a7:0d:b9:53:4c:f4:10:fa:e7:d2:64:a5:e9:0a:
                    32:49:c3:aa:f8:2c:27:82:94:85:c3:11:07:a7:d0:
                    6c:0a:4a:45:66:94:cb:d3:27:28:cd:58:43:5b:f9:
                    e1:66:97:52:81:be:03:53:d5:e1:84:0c:4f:89:fd:
                    78:6d:8f:88:cf:29:af:6d:14:2e:2e:dc:d4:f3:87:
                    1c:73:5e:35:cb:d2:95:58:20:55:c0:f5:89:e1:40:
                    64:16:cd:25:a8:bd:6b:6a:9c:21:b0:97:d2:67:63:
                    5c:3c:4a:2c:21:1a:72:3a:68:c6:a0:e2:ea:4d:f8:
                    db:bd:02:81:93:db:60:51:ad:6e:bf:d7:7d:45:43:
                    95:e1:a5:d7:de:36:76:7c:a4:d7:4a:7f:b2:b1:98:
                    75:7d:27:2c:1d:ad:03:1b:5f:8a:ac:12:5e:76:9c:
                    2a:f7:03:b0:51:6c:23:a4:df:08:1f:02:0c:42:b6:
                    ff:7f:33:16:b0:86:fc:92:e7:db:7a:3b:a2:70:30:
                    f4:79:fa:f1:0f:75:0f:32:69:79:97:73:f4:de:11:
                    3e:bf:f8:63:49:21:dc:02:c6:ef:de:91:74:03:6d:
                    21:56:2e:c6:04:d1:02:30:73:6e:52:c7:93:07:6c:
                    f9:98:ff:1c:cc:dd:da:c7:45:2e:7b:ab:04:33:fe:
                    39:6c:5d:d5:dd:46:ae:25:d6:fd:9d:01:ae:8a:e8:
                    14:18:cc:6e:64:e4:11:8a:ce:3d:30:56:6d:0c:a7:
                    83:90:6c:f5:14:36:16:39:cc:10:7a:db:35:f6:9c:
                    68:da:84:f6:9c:07:d0:3e:b7:52:54:03:75:9a:ae:
                    eb:79:b5:5f:cb:10:cf:25:08:ae:f7:b3:13:79:f4:
                    4a:98:72:08:e3:23:e2:22:a1:31:47:41:ec:a4:76:
                    42:db:1c:46:31:3c:a2:14:14:94:bf:4f:1e:1f:85:
                    a0:9c:4c:3d:af:92:7a:90:d1:ad:23:f0:ea:3e:7d:
                    b4:21:79:f9:82:3a:16:04:42:60:b8:5d:15:1c:48:
                    9b:1e:b5:9b:0d:1f:aa:56:aa:a2:1a:a5:6f:ef:ab:
                    2a:22:6d:05:19:c0:2b:dc:46:c4:c2:4a:f8:89:25:
                    fc:dc:e6:ab:7b:8a:76:de:47:a3:e2:00:0e:d7:e8:
                    bd:86:86:d3:8d:6b:56:63:bf:40:1e:31:d7:74:fe:
                    63:fc:7e:e2:9f:21:31:1d:39:2a:44:a5:56:fd:dd:
                    66:5e:c2:4f:94:c7:ee:26:89:1a:d1:6b:13:00:f6:
                    4f:72:9b
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha256WithRSAEncryption
         25:26:77:55:50:0a:66:39:5f:79:c7:5e:af:5f:54:e2:92:6f:
         62:e5:90:3a:0f:de:9b:7a:02:df:66:47:c5:71:61:91:c4:74:
         ba:0e:55:34:47:0b:72:c5:f5:27:5d:d0:d6:06:a9:f7:5c:d5:
         41:30:4c:0f:0b:3a:3c:64:13:a0:28:9b:10:92:0e:c8:eb:e8:
         0f:00:ba:54:9d:d4:7a:8c:cd:f7:91:a9:55:69:0f:9b:12:77:
         e9:f2:28:c8:cb:07:d4:ab:a4:eb:b2:3d:ae:b4:6d:7a:15:85:
         cb:07:f6:e3:6b:58:1c:26:0a:ad:d5:e6:7c:b7:e7:19:6c:d1:
         31:80:5e:cb:17:85:88:a2:6c:fc:fe:3c:28:1f:f9:87:a6:0f:
         f6:85:d2:c0:76:25:fb:52:2f:8a:99:0c:88:4e:bd:84:6b:da:
         81:b4:41:f1:bf:1c:e7:7d:93:a5:e2:d7:66:8a:63:bf:9c:c4:
         ad:ea:cb:c4:c6:7d:1f:95:35:87:60:8b:e8:23:e8:4e:36:43:
         5e:86:de:c4:35:e0:29:7a:93:90:a4:9b:c3:d1:8e:13:55:9f:
         ea:ab:52:0a:a8:a0:54:cf:f4:5e:ff:12:40:09:43:3c:e7:55:
         e7:c1:de:62:ce:21:39:f5:d3:51:7a:92:f2:b2:3c:75:8c:1f:
         bd:aa:13:63
-----BEGIN CERTIFICATE-----
MIIEPDCCAyQCAQEwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCSU4xEjAQBgNV
BAgTCUthcm5hdGFrYTESMBAGA1UEBxMJQmFuZ2Fsb3JlMQwwCgYDVQQKEwNJQk0x
DDAKBgNVBAsTA2x0YzERMA8GA1UEAxMIbHRjeC5jb20wHhcNMTcwNzE3MjAyODI2
WhcNMTgwNzE3MjAyODI2WjBkMQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0
YWthMRIwEAYDVQQHDAlCYW5nYWxvcmUxDDAKBgNVBAoMA0lCTTEMMAoGA1UECwwD
bHRjMREwDwYDVQQDDAhsdGN4LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBALgsl8Lkv3rhSSKbopB6Ot490/XpyYubyBM3SzYyT6cNuVNM9BD659Jk
pekKMknDqvgsJ4KUhcMRB6fQbApKRWaUy9MnKM1YQ1v54WaXUoG+A1PV4YQMT4n9
eG2PiM8pr20ULi7c1POHHHNeNcvSlVggVcD1ieFAZBbNJai9a2qcIbCX0mdjXDxK
LCEacjpoxqDi6k34270CgZPbYFGtbr/XfUVDleGl1942dnyk10p/srGYdX0nLB2t
AxtfiqwSXnacKvcDsFFsI6TfCB8CDEK2/38zFrCG/JLn23o7onAw9Hn68Q91DzJp
eZdz9N4RPr/4Y0kh3ALG796RdANtIVYuxgTRAjBzblLHkwds+Zj/HMzd2sdFLnur
BDP+OWxd1d1GriXW/Z0BroroFBjMbmTkEYrOPTBWbQyng5Bs9RQ2FjnMEHrbNfac
aNqE9pwH0D63UlQDdZqu63m1X8sQzyUIrvezE3n0SphyCOMj4iKhMUdB7KR2Qtsc
RjE8ohQUlL9PHh+FoJxMPa+SepDRrSPw6j59tCF5+YI6FgRCYLhdFRxImx61mw0f
qlaqohqlb++rKiJtBRnAK9xGxMJK+Ikl/Nzmq3uKdt5Ho+IADtfovYaG041rVmO/
QB4x13T+Y/x+4p8hMR05KkSlVv3dZl7CT5TH7iaJGtFrEwD2T3KbAgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBACUmd1VQCmY5X3nHXq9fVOKSb2LlkDoP3pt6At9mR8Vx
YZHEdLoOVTRHC3LF9Sdd0NYGqfdc1UEwTA8LOjxkE6AomxCSDsjr6A8AulSd1HqM
zfeRqVVpD5sSd+nyKMjLB9SrpOuyPa60bXoVhcsH9uNrWBwmCq3V5ny35xls0TGA
XssXhYiibPz+PCgf+YemD/aF0sB2JftSL4qZDIhOvYRr2oG0QfG/HOd9k6Xi12aK
Y7+cxK3qy8TGfR+VNYdgi+gj6E42Q16G3sQ14Cl6k5Ckm8PRjhNVn+qrUgqooFTP
9F7/EkAJQzznVefB3mLOITn101F6kvKyPHWMH72qE2M=
-----END CERTIFICATE-----

@abdasgupta :リポジトリを「カール」できますか?
その場合は、curlが使用している証明書のファイルを確認し、daemon.jsonファイルを編集して同じファイルを使用します。
私の場合、それは:
[ root @ localhost ] #cat /etc/docker/daemon.json
{"insecure-registries":["registry-1.docker.io/v2:5000"]、
「デバッグ」:true、
"tlscert": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" <<<< ======
}

私はその安全でないレジストリを使いたくありませんでした..それなしで実行することは不可能ですか? また、証明書はレポと同じです。そこからコピーしたcz。

安全でないレジストリなしで実行できると思います。 「curl」コマンドでリポジトリにアクセスできますか?
よろしくお願いします。

De:Abhishek Dasgupta [mailto:[email protected]]
エンボイエ:マルディ18ジュレット2017 18:30
À:moby / moby
Cc:フレデリックカステラン; コメント
Objet:Re:[moby / moby]プライベートレジストリにアクセス:x509:不明な機関によって署名された証明書(#8849)

私はその安全でないレジストリを使いたくありませんでした..それなしで実行することは不可能ですか? また、証明書はレポと同じです。そこからコピーしたcz。


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信するか、GitHub https://github.com/moby/moby/issues/8849#issuecomment-316120117で表示するか、スレッドをミュートしますhttps://github.com/notifications/unsubscribe-auth/ANgcLAxGE34n7fSByG0svUJry3vtTAR7ks5sPN2JgaJp

注意:この電子メール(添付ファイルを含む)には、個人情報、機密情報、または法的に特権のある情報または資料が含まれている場合があり、宛先の使用のみを目的としています。 このメールを誤って受信した場合は、コピーせずにシステムから削除し、すぐに返信メールで送信者に通知してください。 このメッセージの不正使用または開示は固く禁じられています。 STEFは、この送信の整合性を保証するものではないため、メッセージが改ざんまたは改ざんされた場合、またはウイルス、傍受、またはシステムへの損傷に対して責任を負わない場合があります。

AVIS:Ceメッセージ(y compristoutespiècesjointes)peut contenir desinformationprivées、confidentielles et est pour l'usage du(es)seul(s)destinataire(s)。 Sivousavezreçucemessageparerreur、merci d'enavertirl'expéditeurparretourd'emailimmédiatementetdeprocéderàladestructiondel'ensembledesélémentsreçus、dont vous ne devez garder aucunecopie。 宣伝の拡散、利用、メッセージ、メッセージ、コンティエント、パーネ、オーター、デシネ、デシグネ、エスト・インターダイト。 STEFnegarantitpasl'intégritédecetteTransmissionetnesauraitêtretenuresponsabledumessage、de son contenu、de toute modify ou falsification、d'uneinterceptedoudedégâtsàvotresystème。

@abdasgupta17.03.1~ce-0~ubuntu-xenialバージョンが機能しないことに気付きましたが、 17.06.0~ce-0~ubuntuバージョンは機能します。

crtを/usr/local/share/ca-certificates/my-org/my-domain.crtから、 sudo update-ca-certificatessudo systemctl restart dockerます。

https://docs.docker.com/v17.03/engine/security/certificates/の指示に従ってみて

カスタム証明書は、レジストリのホスト名と同じ名前(たとえば、 localhost )を使用して/etc/docker/certs.d下にディレクトリを作成することによって構成されます。 すべての*.crtファイルは、CAルートとしてこのディレクトリに追加されます。

証明書を構成した後、デーモンを再起動する必要がある場合があります

/etc/docker/certs.dソリューションで苦労している人は、その下のディレクトリ名にレジストリポートが含まれていることを確認してください。 つまり、 /etc/docker/certs.d/myregistry.net:8443です。

PhotonOSで問題なく動作しました。

私は、ファイルに名前を付けた考え出しまで、私はこのエラーに苦しんでいた/etc/docker/certs.d/myregistry/の代わりにca.pem /etc/docker/certs.d/myregistry/ ca.crt

Windowsエクスプローラー( ca.pem名前をca.crt )とRight-Click > Install Certificateで認証局を使用することを提案するドキュメントを見るまで、Windowsでも同じ問題が発生していまし

coreosでは、編集する必要がありました
/etc/docker/daemon.json
{ "insecure-registries": ["registry:8443"] }
次にsudo systemctl restart docker

ヒント:プロキシを介してプライベートリポジトリに到達すると、同じエラーメッセージが表示されるか、プロキシを無効にするか、プライベートレジストリホストの例外(おそらくNO_PROXY)を構成します。

ランチャーでKubernetesPODとしてdocker-registryを実行しています。 L7入力を構成しましたが、SSL証明書はそこにあります。 Webブラウザーからアクセスする場合、SSLは問題なく、ログイン資格情報は正常に機能します。 しかし、docker loginコマンドを実行すると、不明な機関によって署名されたx509:証明書を取得します。これは、偽のSSL自己署名証明書を使用してデフォルトの入力バックエンドを取得しようとしていると思われます。 コンピューターでdockerを再起動して、それが役立つかどうかを確認しています。

以前は機能していました。2つのホスト名の新しいSSL証明書をサポートするために、入力に小さな変更を加えました。
私のラップトップでdockerを再起動した後も同じ問題があります:(

こんにちはブロ..この問題は私の問題と同じです。
Openshiftはネクサスリポジトリのイメージをインポートできません。sintaxは
oc import-image nexus- coba:3.5 --from = 192.168.250.250:8083 / node-nexus --confirm
エラー:タグの最新の失敗:内部エラーが発生しました: https ://192.168.250.250:8083 / v2 /を取得し
imagestream.image.openshift.io/nexus-cobaがエラーでインポートされました
このソリューションでは、-confirmの後に--insecureを追加するだけです。

oc import-image nexus- coba:3.5 --from = 192.168.250.250:8083 / node-nexus --confirm --insecure

ありがとう、それも私のために働いた。 Ubuntu / Debianでの同等の手順:

1. Copy CA cert to `/usr/local/share/ca-certificates`.

2. sudo update-ca-certificates

3. sudo service docker restart

ただし、ここにはまだバグがあります。 ドキュメントには、CA証明書を/etc/docker/certs.d/<registry>にインストールするように書かれていますが、明らかにそれだけでは不十分です。 実際、証明書をグローバルにインストールした後、 /etc/docker/certs.dにある証明書を削除し、Dockerを再起動しましたが、それでも機能しました。

本当にありがとうございました! 私はあなたが説明していることを正確にやっていて、公式文書から私の髪を引っ張っていました... :)

信じられない! 5年後、まだ真実です。解決策に感謝します。

ありがとう、それも私のために働いた。 Ubuntu / Debianでの同等の手順:

1. Copy CA cert to `/usr/local/share/ca-certificates`.

2. sudo update-ca-certificates

3. sudo service docker restart

ただし、ここにはまだバグがあります。 ドキュメントには、CA証明書を/etc/docker/certs.d/<registry>にインストールするように書かれていますが、明らかにそれだけでは不十分です。 実際、証明書をグローバルにインストールした後、 /etc/docker/certs.dにある証明書を削除し、Dockerを再起動しましたが、それでも機能しました。

nginxでもレジストリDockerイメージに証明書をインストールする必要があるということですか?

Docker-デスクトップアイコン->設定->デーモン->「安全でないレジストリ」をクリックし、+アイコンをクリックします
リポジトリ「your-registry.com」を追加します
「適用して再起動」をクリックします

image

詳細については、 https://forums.docker.com/t/docker-private-registry-x509-certificate-signed-by-unknown-authority/21262/6を参照して

このページは役に立ちましたか?
0 / 5 - 0 評価