μ¬κΈ° μ λ°λΌ nginxλ‘ docker-registryλ₯Ό μ€μ
'λ컀 λ‘κ·ΈμΈ'μ μ€ννλ©΄ λ€μ μ€λ₯κ° λ°μν©λλ€.
# 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
λ컀 λ°λͺ¬μ μΆλ ₯:
[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.
@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 RedHat 7μμ docker 1.3.2λ₯Ό μ¬μ© μ€μ λλ€.
[ root@ip-10-2-20-209 ec2-user]# docker --insecure-registry=qa.docker.repo λ‘κ·ΈμΈ https://qa.docker.repo
μ¬μ©μ μ΄λ¦: qa
λΉλ°λ²νΈ:
μ΄λ©μΌ: [email protected]
2015/01/19 14:26:40 λ°λͺ¬μ μ€λ₯ μλ΅: μλ² μ€λ₯: Post https://qa.docker.repo/v1/users/ : x509: μ μ μλ κΈ°κ΄μμ μλͺ
ν μΈμ¦μ
μμ±λ ca.pem νμΌμ μ¬μ©ν λ curlμ΄ μ λλ‘ μλν©λλ€.
컬 --cacert /home/ec2-user/ca.pem -u qa:xxxxx https://qa.docker.repo/v1/users/
"μ’μμ"
docker λ²μ 1.3.2 λ° opensuse 13.1μμ λμΌν λ¬Έμ κ° μμ΅λλ€. λͺ¨λ 컬 νΈμΆμ --cafile cacert.pemμ μ μ μΌλ‘ μ λ¬νλ €κ³ μλνμ§λ§(λμ»€κ° λ΄λΆμ μΌλ‘ 컬μ μ¬μ©νλ€κ³ κ°μ νκΈ° λλ¬Έμ) μ΄ λ°©λ²λ λμμ΄ λμ§ μμμ΅λλ€.
λμμ μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€.
κ°μ¬ ν΄μ.
λ§λ¦¬μ€
μ΄ λ¬Έμ λ₯Ό λ°κ²¬νκΈ° μ μ #10150μ μ΄μμ΅λλ€. κ·Έλ€μ κ°μ λ¬Έμ λ‘ λ³΄μ λλ€.
λλ κ°μ λ¬Έμ κ°μλ κ² κ°μ΅λλ€. Archlinux ν΄λΌμ΄μΈνΈ 1.4.1 λ° κ³΅μ λ컀 컨ν μ΄λμμ μ€νλλ λ μ§μ€νΈλ¦¬. μκ°μ΄ μμΌμ λΆ κ³μ κ°μ?
ca-certificatesλ₯Ό ν΅ν΄ μ μμΌλ‘ μΈμ¦μλ₯Ό μ€μΉν κ²½μ° μ μ SSL μΈμ¦μλ₯Ό λ€μ λ‘λνμ§ μμΌλ―λ‘ λ컀λ₯Ό λ€μ μμν΄μΌ ν©λλ€. μ¦, λ΄ κ²μ μ¬μ ν ββμλνμ§ μμ§λ§ μ§μ₯μμ λ§λ¬μ΅λλ€. :)
grimmyμκ² κ°μ¬λ₯Ό νν©λλ€. κ²°κ΅μλ μμμλ₯Ό μΌκ³ λ§μΉ¨λ΄ μλν©λλ€. λλ νλ€:
λ§λ¦¬μ€
κ°μ¬ν©λλ€. μ μκ²λ ν¨κ³Όκ° μμμ΅λλ€. Ubuntu/Debianμμ ν΄λΉ λ¨κ³:
/usr/local/share/ca-certificates
볡μ¬ν©λλ€.κ·Έλ¬λ μ¬κΈ°μλ μ¬μ ν λ²κ·Έκ° μμ΅λλ€. λ¬Έμμλ /etc/docker/certs.d/<registry>
μ CA μΈμ¦μλ₯Ό μ€μΉνλΌκ³ λμ μμΌλ©°, λΆλͺ
ν μΆ©λΆνμ§ μμ΅λλ€. μ€μ λ‘ μΈμ¦μλ₯Ό μ μμ μΌλ‘ μ€μΉν ν /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'.
μ΄μ 무μμ μ¬μ©ν΄μΌ ν©λκΉ?
λ컀 κ΅¬μ± νμΌλ‘ μ΄λνμ¬ μ€μ λμλμ§ νμΈν μ μμ΅λλ€.
λ컀 νλ‘μΈμ€μμ --insecure-registry νλκ·Έκ° νμλμ΄μΌ ν©λλ€.
2015λ
9μ 16μΌ μμμΌ μ€μ 3:01, Chris Withers μλ¦Ό @github.com
μΌλ€:
--insecure-registryκ° μ¬λΌμ‘μ΅λκΉ?
$ λ컀 --λ²μ
Docker λ²μ 1.8.2, λΉλ 0a8c2e3$ docker --insecure-registry
νλκ·Έκ° μ 곡λμμ§λ§ μ μλμ§ μμ: --insecure-registry
'λ컀 --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-reconfigure ca μΈμ¦μ
μμ€ν
μνκ° μ€μνμ§ μμ κ²½μ° docker-machine rm <machine-name>
νκ³ λ€λ₯Έ μνλ₯Ό λ§λ€ μ μμ΅λλ€ ;)
LetsEncryptλ₯Ό μ¬μ©νκ³ μ μ ν TLS μμ΄ μ무 κ²λ μ€ννμ§ μμΌλ €λ©΄ μ€κ°(μ: REGISTRY_HTTP_TLS_CERTIFICATE=.../fullchain.pem)μ ν¬ν¨ν μΈμ¦μμ μ 체 체μΈμ μ 곡ν΄μΌ ν©λλ€. Dockerμ μ΄ μ€λ₯.
건배!
μ°λΆν¬μμ. μ€λ₯κ° λ°μνλ κ²½μ°:
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 -in certificate.crt -text -noout
κ·Έλ¬λ Ubuntu 14 ν΄λΌμ΄μΈνΈ(μ: Docker Engine)μμλ
μ΄ μ€λ₯λ λ€μμΌλ‘ μ΄μ΄μ‘μ΅λλ€.
x509: μ μ μλ κΈ°κ΄μμ μλͺ
ν μΈμ¦μ
Ubuntu 14λ₯Ό μ¬μ©νλ μ¬λλ€μ μν΄.
Docker μμ§μ μ¬μ©λλ κ΅¬μ± νμΌ(Docker Registryμ μ°κ²°νλ λ° μ¬μ©νλ €λ):
/etc/default/λ컀
κ±°κΈ°μμ λ컀 μ΅μ
μ μ§μ ν΄μΌ ν©λλ€.
DOCKER_OPTS = "- λΆμ - λ μ§μ€νΈλ¦¬ myinsecure. co.krμμ : 5000 "
κ·Έλ° λ€μ λ°λͺ¬μ λ€μ μμν©λλ€(μ¬μ©μκ° λ컀 μλΉμ€λ₯Ό μμν μ μλ κ²½μ° sudo μΆκ°).
$ [sudo] μλΉμ€ λ컀 μ¬μμ
κ°μ λλ©μΈ μ΄λ¦μΌ νμλ μμΌλ©° μΈμ¦μκ° λ±λ‘λ κ²κ³Ό μΌμΉνκΈ°λ§ νλ©΄ λ©λλ€. ν¬νΈκ° μλ IP μ£Όμκ° μκ³ μ΄κ²μ΄ μλν©λλ€... (μ: 100.100.100.100:100)
μ΄ λͺ¨λ κ²μ΄ λμκ² νλ£¨κ° κ±Έλ ΈμΌλ―λ‘ λ€λ₯Έ μ¬λλ€μκ² μ μ©νκΈ°λ₯Ό λ°λΌλ©΄μ μ΄κ²μ κ²μν©λλ€ ...
@JazzDeben μ견 κ°μ¬ν©λλ€! κ΅μ₯ν μ μ©νλ€ ! Let's Encript certbot μμ± μΈμ¦μλ₯Ό μ¬μ©νμ¬ μννλ λ°©λ²μ μ λͺ¨λ₯΄κ² μ΅λλ€.
λ μ§μ€νΈλ¦¬ μλ²μμ μ΄ μ€λ₯κ° λ°μν©λλ€.
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
. μ΄μ μλν©λλ€.
μμ§ν λ§ν΄μ, λλ μ¬μ ν 체κ³νλ λ©μ²μ΄μ΄κ³ μλ§λ μ΄κ²μ λ κΉλνκ² ν μ μλ λ μ’μ λ°©λ²μ΄ μμ κ²μ λλ€. νμ§λ§ λ무 μ€λ«λμ μ΄ λ¬Έμ λ‘ μ΄λ €μμ κ²ͺμκ³ ν΄κ²° λ°©λ²μ κ²μνκ³ μΆμμ΅λλ€. μ λ₯Ό μ¬λ°λ₯Έ λ°©ν₯μΌλ‘ μ΄λμ΄μ£Όμ @cdub50λ κ°μ¬ν©λλ€.
@david-drinn Fedora 25μ κ²½μ° λΉμ·ν μμ
μ μννμ§λ§ docker daemon config ( in /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}/
μ λ‘λν΄μΌ ν©λλ€. κ·Έκ²λ€μ λ‘λν νμλ λ컀 λ°λͺ¬μ λ€μ μμνλ κ²μ κΈ°μ΅νμμμ€. μ’ λ μμΈν μ€λͺ
νμλ©΄.....
λ μ§μ€νΈλ¦¬κ° 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λ ν¬νΈλ₯Ό μ¬μ©ν λλ§ νΈμ€νΈ μ΄λ¦μ κΈ°λ°μΌλ‘ νμΈνλ μΈμ¦μμ λν΄ κ°μ νμ§ μμ΅λλ€. μ‘μΈμ€νλ €λ ν¬νΈκ° ν¬ν¨λ ν΄λ μ΄λ¦μ μ체 μλͺ
λ μΈμ¦μλ₯Ό λ‘λνμ¬ ν¬νΈλ³λ‘ μ€μ λ‘ μΈμ¦μλ₯Ό μ 곡ν΄μΌ ν©λλ€.
μ΄κ²μ΄ ν¬νΈλ₯Ό μ¬μ©νμ¬ λ컀 λ μ§μ€νΈλ¦¬μ μ°κ²°νλ λ§μ λλ²κΉ μ μ μ½ν μ μκΈ°λ₯Ό λ°λλλ€.
μ κ²½μ°μλ ν΄κ²°λμ§ μμμ΅λλ€.
nexus OSS μ μ₯μμ μ체 μλͺ
λ μΈμ¦μλ₯Ό μ¬μ©νκ³ μΆμ΅λλ€. νμ§λ§ λ€μ μ€λ₯κ° λ°μν©λλ€. λ°λͺ¬μ μ€λ₯ μλ΅: Get https://
.crt νμΌμ /etc/docker/certs.d λ° /usr/share/ca-certificatesλ₯Ό λ΄ μ°λΆν¬ 16.04 om μΈν
μμ€ν
μ λ°°μΉνμ΅λλ€. κ·Έλ° λ€μ update-ca-certificatesλ₯Ό μ€ννκ³ dockerλ₯Ό λ€μ μμνμ΅λλ€. μ΄κ²μ λ΄ μΈμ¦μ νμΌ nexus.certμ
λλ€.
$ openssl x509 - nexus.crt - ν
μ€νΈ
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 : μ μ₯μλ₯Ό "λ§λ¦΄" μ μμ΅λκΉ?
κ·Έλ λ€λ©΄ μ΄λ€ μΈμ¦μμ νμΌ μ»¬μ΄ μ¬μ© μ€μΈμ§ νμΈνκ³ λμΌν νμΌμ μ¬μ©νκΈ° μν΄ daemon.json νμΌμ νΈμ§νμμμ€.
μ κ²½μ°μλ λ€μκ³Ό κ°μ΅λλ€.
[ root@localhost ]# κ³ μμ΄ /etc/docker/daemon.json
{ "μμ νμ§ μμ λ μ§μ€νΈλ¦¬":["registry-1.docker.io/v2:5000"],
"λλ²κ·Έ": μ°Έ,
"tlscert": "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" <<<<======
}
μμ νμ§ μμ λ μ§μ€νΈλ¦¬λ₯Ό μ¬μ©νκ³ μΆμ§ μμμ΅λλ€. κ·Έκ² μμ΄λ μ€νν μ μμ΅λκΉ? λν μΈμ¦μλ repoμ κ²κ³Ό λμΌν©λλ€. cz κ±°κΈ°μμ 볡μ¬νμ΅λλ€.
μμ νμ§ μμ λ μ§μ€νΈλ¦¬ μμ΄ μ€νν μ μλ€κ³ μκ°ν©λλ€. "curl" λͺ
λ ΉμΌλ‘ μ μ₯μμ λλ¬ν μ μμ΅λκΉ?
μΉμ νλ.
De : Abhishek Dasgupta [mailto:[email protected]]
νΉμ¬ : λ§λ 18 juillet 2017 18:30
Γ : λͺ¨λΉ/λͺ¨λΉ
μ°Έμ‘°: νλ λ°λ¦ μΉ΄μ€ν
λ; λ
Όν
Objet : Re: [moby/moby] κ°μΈ λ μ§μ€νΈλ¦¬ μ‘μΈμ€: x509: μ μ μλ κΈ°κ΄μμ μλͺ
ν μΈμ¦μ(#8849)
μμ νμ§ μμ λ μ§μ€νΈλ¦¬λ₯Ό μ¬μ©νκ³ μΆμ§ μμμ΅λλ€. κ·Έκ² μμ΄λ μ€νν μ μμ΅λκΉ? λν μΈμ¦μλ repoμ κ²κ³Ό λμΌν©λλ€. cz κ±°κΈ°μμ 볡μ¬νμ΅λλ€.
β
λΉμ μ΄ λκΈμ λ¬μκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ
λλ€.
μ΄ μ΄λ©μΌμ μ§μ νμ νκ±°λ GitHub https://github.com/moby/moby/issues/8849#issuecomment-316120117 μμ νμΈνκ±°λ μ€λ λ https://github.com/notifications/unsubscribe-auth/ANGcvLAxGE34n7fSByG0svUJry3vtZTAR7ks5
μλ¦Ό: μ΄ μ΄λ©μΌ(μ²¨λΆ νμΌ ν¬ν¨)μλ κ°μΈ μ 보, κΈ°λ° μ 보 λλ λ²μ κΆνμ΄ μλ μ 보 λλ μλ£κ° ν¬ν¨λ μ μμΌλ©° μμ μΈλ§ μ¬μ©ν μ μμ΅λλ€. λ³Έ λ©μΌμ μλͺ» μμ νμ ¨λ€λ©΄ 볡μ¬νμ§ λ§κ³ μμ€ν μμ μμ νμκ³ μ¦μ νμ λ©μΌλ‘ λ°μ μΈμκ² μλ €μ£ΌμκΈ° λ°λλλ€. μ΄ λ©μμ§μ λ¬΄λ¨ μ¬μ© λλ 곡κ°λ μ격ν κΈμ§λ©λλ€. STEFλ μ΄ μ μ‘μ 무결μ±μ 보μ₯νμ§ μμΌλ―λ‘ λ©μμ§κ° λ³κ²½λκ±°λ μμ‘°λκ±°λ λ°μ΄λ¬μ€, κ°λ‘μ±κΈ° λλ μμ€ν μμμ λν΄ μ± μμ μ§μ§ μμ΅λλ€.
AVIS : Ce message (y compris toutes piΓ¨ces jointes) peut contenir des informations privΓ©es, secretielles et est pour l'usage du(es) destinataire(s) destinataire(s). Si vous avez reΓ§u ce message par erreur, merci d'en avertir l'expΓ©diteur par retour d'email immΓ©diatement et de procΓ©der Γ la destroy de l'ensemble des Γ©lΓ©ments reΓ§us, dont vous ne devez copie garder aucune μ μ νμ°, νμ© ou copy de ce message ou des renseignements qu'il contient par une personne autre que le(les) destinataire(s) dΓ©signΓ©(s) est interdite. STEF ne garantit pas l'intΓ©gritΓ© de cette transmission et ne saurait Γͺtre tenu responsable du message, de son contenu, de toute modifying ou falsification, d'une interception ou de dΓ©gΓ’ts Γ votre systΓ¨me.
@abdasgupta , 17.03.1~ce-0~ubuntu-xenial
λ²μ μ μλνμ§ μμ§λ§ 17.06.0~ce-0~ubuntu
λ²μ μ μλνλ κ²μΌλ‘ λνλ¬μ΅λλ€.
/usr/local/share/ca-certificates/my-org/my-domain.crt
crtλ₯Ό λ£μ λ€μ sudo update-ca-certificates
λ° sudo systemctl restart docker
ν©λλ€.
https://docs.docker.com/v17.03/engine/security/certificates/ μ μ§μΉ¨μ λ°λ₯΄μκ² μ΅λκΉ? Docker 1.13 μ΄μμ μμ€ν κΈ°λ³Έκ°μμ μΈμ¦μλ μ½μ΄μΌ ν©λλ€.
μ¬μ©μ μ§μ μΈμ¦μλ λ μ§μ€νΈλ¦¬μ νΈμ€νΈ μ΄λ¦κ³Ό λμΌν μ΄λ¦μ μ¬μ©νμ¬
/etc/docker/certs.d
μλμ λλ ν 리λ₯Ό μμ±νμ¬ κ΅¬μ±λ©λλ€(μ:localhost
). λͺ¨λ*.crt
νμΌμ μ΄ λλ ν 리μ CA 루νΈλ‘ μΆκ°λ©λλ€.
μΈμ¦μλ₯Ό ꡬμ±ν ν λ°λͺ¬μ λ€μ μμν΄μΌ ν μ μμ΅λλ€.
/etc/docker/certs.d
μ루μ
μΌλ‘ μ΄λ €μμ κ²ͺκ³ μλ μ¬λμ μν΄ ν΄λΉ λλ ν 리 μ΄λ¦μ λ μ§μ€νΈλ¦¬ ν¬νΈκ° ν¬ν¨λμ΄ μλμ§ νμΈνμμμ€. λ°λΌμ /etc/docker/certs.d/myregistry.net:8443
.
Photon OSμμ μ μλνμ΅λλ€.
/etc/docker/certs.d/myregistry/
ca.crt λμ /etc/docker/certs.d/myregistry/
ca.pem νμΌμ μ΄λ¦μ μ§μ ν λκΉμ§ μ΄ μ€λ₯λ‘ κ³ μ
Windows νμκΈ°( ca.pem
κ° ca.crt
λ‘ μ΄λ¦ λ³κ²½λ¨) λ° Right-Click > Install Certificate
μμ λ΄ μΈμ¦ κΈ°κ΄μ μ¬μ©νλλ‘ μ μ νλ λ¬Έμλ₯Ό λ³Ό λκΉμ§ Windowsμμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€ ca.pem
νμ¬ μ¬μ©μμ μ λ’°ν μ μλ λ£¨νΈ μΈμ¦ κΈ°κ΄. λ컀λ₯Ό λ€μ μμνκ³ μλνμ΅λλ€.
coreosμμλ νΈμ§ν΄μΌνμ΅λλ€.
/etc/docker/daemon.json
{
"insecure-registries": ["registry:8443"]
}
κ·ΈλΌ sudo systemctl restart docker
ννΈ: νλ‘μλ₯Ό ν΅ν΄ κ°μΈ μ μ₯μμ λλ¬νλ©΄ λμΌν μ€λ₯ λ©μμ§κ° νμλκ±°λ νλ‘μλ₯Ό λΉνμ±ννκ±°λ κ°μΈ λ μ§μ€νΈλ¦¬ νΈμ€νΈμ λν΄ μμΈ(NO_PROXY)λ₯Ό ꡬμ±ν μ μμ΅λλ€.
Rancherμμ Kubernetes PODλ‘ docker-registryλ₯Ό μ€ννκ³ μμ΅λλ€. L7 Ingressλ₯Ό ꡬμ±νμΌλ©° SSL μΈμ¦μκ° κ±°κΈ°μ μμ΅λλ€. μΉ λΈλΌμ°μ μμ μ‘μΈμ€ν λ SSLμ λ¬Έμ κ° μκ³ λ‘κ·ΈμΈ μ격 μ¦λͺ μ΄ μ λλ‘ μλν©λλ€. νμ§λ§ docker λ‘κ·ΈμΈ λͺ λ Ήμ μ€ννλ©΄ x509: μΈμ¦μκ° μ μ μλ κΈ°κ΄μμ μλͺ ν κ²μ μ»μ΅λλ€. μ΄ μΈμ¦μλ κ°μ§ SSL μ체 μλͺ μΈμ¦μλ‘ κΈ°λ³Έ μμ λ°±μλλ₯Ό μ»μΌλ €κ³ νλ€κ³ μκ°ν©λλ€. λμμ΄λλμ§ νμΈνκΈ° μν΄ μ»΄ν¨ν°μμ λ컀λ₯Ό λ€μ μμνκ³ μμ΅λλ€.
κ·Έκ²μ μλνμ΅λλ€ .... λ κ°μ νΈμ€νΈ μ΄λ¦μ λν μ SSL μΈμ¦μλ₯Ό μ§μνκΈ° μν΄ μμ μμ μ½κ° λ³κ²½νμ΅λλ€.
λ΄ λ
ΈνΈλΆμμ λ컀λ₯Ό λ€μ μμν νμλ μ¬μ ν λμΌν λ¬Έμ :(
μλ
Bro.. μ΄ λ¬Έμ λ λ΄ λ¬Έμ μ λμΌν©λλ€.
Openshiftλ nexus μ μ₯μμ λν μ΄λ―Έμ§λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. ꡬ문μ λ€μκ³Ό κ°μ΅λλ€.
oc import-image nexus- coba:3.5 --from=192.168.250.250:8083/node-nexus --confirm
μ€λ₯: μ΅μ νκ·Έ μ€ν¨: λ΄λΆ μ€λ₯ λ°μ: https://192.168.250.250 κ°μ Έ μ€κΈ°:8083/v2/: x509: μ μ μλ κΈ°κ΄μμ μλͺ
ν μΈμ¦μ
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
κ·Έλ¬λ μ¬κΈ°μλ μ¬μ ν λ²κ·Έκ° μμ΅λλ€. λ¬Έμμλ
/etc/docker/certs.d/<registry>
μ CA μΈμ¦μλ₯Ό μ€μΉνλΌκ³ λμ μμΌλ©°, λΆλͺ ν μΆ©λΆνμ§ μμ΅λλ€. μ€μ λ‘ μΈμ¦μλ₯Ό μ μμ μΌλ‘ μ€μΉν ν/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
κ·Έλ¬λ μ¬κΈ°μλ μ¬μ ν λ²κ·Έκ° μμ΅λλ€. λ¬Έμμλ
/etc/docker/certs.d/<registry>
μ CA μΈμ¦μλ₯Ό μ€μΉνλΌκ³ λμ μμΌλ©°, λΆλͺ ν μΆ©λΆνμ§ μμ΅λλ€. μ€μ λ‘ μΈμ¦μλ₯Ό μ μμ μΌλ‘ μ€μΉν ν/etc/docker/certs.d
μμ μΈμ¦μλ₯Ό μ κ±°νκ³ Dockerλ₯Ό λ€μ μμνλλ° μ¬μ ν μλνμ΅λλ€.
nginxμμλ λ μ§μ€νΈλ¦¬ λ컀 μ΄λ―Έμ§μ μΈμ¦μλ₯Ό μ€μΉν΄μΌ νλ€λ μλ―ΈμΈκ°μ?
Docker-Desktop μμ΄μ½ -> νκ²½ μ€μ -> λ°λͺ¬ -> "μμ νμ§ μμ λ μ§μ€νΈλ¦¬"μμ + μμ΄μ½μ ν΄λ¦ν©λλ€.
"your-registry.com" 리ν¬μ§ν 리 μΆκ°
"μ μ© λ° λ€μ μμ"μ ν΄λ¦νμμμ€.
μμΈν λ΄μ©μ https://forums.docker.com/t/docker-private-registry-x509-certificate-signed-by-unknown-authority/21262/6 μ μ°Έμ‘°νμμμ€.
κ°μ₯ μ μ©ν λκΈ
κ°μ¬ν©λλ€. μ μκ²λ ν¨κ³Όκ° μμμ΅λλ€. Ubuntu/Debianμμ ν΄λΉ λ¨κ³:
/usr/local/share/ca-certificates
볡μ¬ν©λλ€.κ·Έλ¬λ μ¬κΈ°μλ μ¬μ ν λ²κ·Έκ° μμ΅λλ€. λ¬Έμμλ
/etc/docker/certs.d/<registry>
μ CA μΈμ¦μλ₯Ό μ€μΉνλΌκ³ λμ μμΌλ©°, λΆλͺ ν μΆ©λΆνμ§ μμ΅λλ€. μ€μ λ‘ μΈμ¦μλ₯Ό μ μμ μΌλ‘ μ€μΉν ν/etc/docker/certs.d
μμ μΈμ¦μλ₯Ό μ κ±°νκ³ Dockerλ₯Ό λ€μ μμνλλ° μ¬μ ν μλνμ΅λλ€.