2017-03-15 10 views
1

나는 또한 내가 필요도커 다시로드 인증서

/etc/docker/certs.d/myregistry/에 배치 된 새 인증서를 사용하는 것이 좋습니다 다른 서버로 내 레지스트리를 이동할 계획입니다 모든 서버에 인증서를 배포 할 수 있지만 실제로는 새 인증서 파일을 "로드"하기 위해 docker 데몬을 다시 시작하지 않으려 고합니다. 모든 컨테이너를 다시 시작하지 않고 인증서 파일을 다시로드하는 방법이 있습니까?

"kill -HUP"명령을 사용하면 인증서 파일을 다시로드 할 수 있습니까? 인증서 파일을 바꿀 때 예상대로 작동하지 않는 것 같습니다. 고정 표시기 데몬을 다시 시작하지 않고, 방법이없는 경우

나는 그것이 고정 표시기 데몬을 다시 시작할 때, 복원 라이브 지원 고정 표시기 버전 13에 가능한 것, 도커 버전 1.10.3

을 사용하고 있습니다? - 컨테이너를 다시 시작하지 않고도 데몬을 다시 시작하고 인증서를 다시로드 할 수 있습니다.

감사합니다.

+0

[dockerd]의'SIGHUP'에 대한 [documentation] (https://docs.docker.com/engine/reference/commandline/dockerd/#configuration-reloading)은 불행히도 TLS 인증서에 관한 어떤 것도 열거하지 않습니다. –

답변

0

질문에 언급되어 있지 않으므로 docker registry이 현재 Nginx 뒤에 있다고 생각합니다. 그렇다면, 당신은 다음 명령을 사용하여 Nginx를 다시로드 할 수 있습니다 : 다음 정상적으로 종료 작업자 프로세스가 참조하는 구성을 NginxSIGHUP을 받았을 때

sudo service nginx reload

, 그것은 다시로드 (및 확인) 것, 그리고 ssl certs를 읽고 이전 구성. 새 작업자가 새 구성을 자동으로 사용합니다.

+0

죄송합니다. 아마도 충분하지 않을 수도 있습니다. 나는 레지스트리 자체의 인증서에 대해 말하는 것이 아닙니다. 컨테이너의 간단한 재시작만으로 문제를 해결할 수 있기 때문에 문제없이 교체 할 수 있습니다. 나는 docker 데몬이 사용할 /etc/docker/certs.d/myregistry/에있는 호스트 서버의 인증서 파일에 대해 이야기하고 있습니다. docker 데몬을 다시 시작하지 않고 어떻게 다시로드합니까? 이 파일은 내 서버에서 25 대의 서버에서 사용할 수 있으며 레지스트리에 연결하는 데 사용됩니다. –

+0

@TD 도커 레지스트리에서 자체 서명 된 인증서를 사용하고 있습니까? 그러므로 docker 데몬 자체에 루트 인증서를 추가해야합니까? LetsEncrypt 인증서를 사용하도록 변경하고 두통을 피할 것을 제안합니다. 다시 시작하지 않고도 certs를 다시로드하는 다른 방법은 없다고 생각합니다. – Andy

+0

봇이 인터넷에서 인증서 도메인으로 연결을 시도하기 때문에 letsencrypt를 사용할 수 없습니다. 인증서가 생성되는 도메인은 인터넷에서 액세스 할 수 없습니다. 따라서 모든 인트라넷 서버에 복사되는 자체 루트 인증서를 사용하고 있습니다. –