docker pull에서 가져온 이미지에 SSL 인증서를 추가하는 우아한 방법이 있습니까?.
/ etc / ssl / certs에 파일을 추가하고 update-ca-certificates를 실행하는 간단하고 재현 가능한 방법을 찾고 있습니다. (우분투와 데비안 이미지를 포함해야합니다).
CoreOS에서 docker를 사용하고 있으며 coreos 머신은 필요한 SSL 인증서를 신뢰하지만 docker 컨테이너에는 분명히 기본값 만 있습니다.
docker run --entrypoint=/bin/bash
그런 다음 cert를 추가하고 실행 하려고 시도 update-ca-certificates
했지만 이것은 진입 점을 영구적으로 재정의하는 것 같습니다.
나는 또한 지금 궁금 /etc/ssl/certs
합니다. 호스트 머신 사본에서 컨테이너에 마운트하는 것이 더 우아 할까요? 이렇게하면 컨테이너가 호스트와 동일한 것을 신뢰하도록 암시 적으로 허용됩니다.
나는 모든 것을 사임하는 성가신 프록시와 함께 일하고 있습니다 :(. SSL을 깨고 컨테이너가 작동하기에 이상하게 만듭니다.
답변
다음을 사용하여 Docker 컨테이너에 인증서를 마운트합니다 -v
.
docker run -v /host/path/to/certs:/container/path/to/certs -d IMAGE_ID "update-ca-certificates"
답변
나는 이것과 비슷한 것을 시도하고 있습니다. 위에서 언급했듯이 사용자 지정 Dockerfile (기본 이미지로 가져온 이미지 사용), ADD
인증서, RUN update-ca-certificates
. 이렇게하면이 새 이미지에서 컨테이너를 시작할 때마다 일관된 상태를 갖게됩니다.
# Dockerfile
FROM some-base-image:0.1
ADD you_certificate.crt:/container/cert/path
RUN update-ca-certificates
docker build
Dockerfile이 IMAGE_ID를 생성 했다고 가정 해 보겠습니다 . 다음 docker run -d [any other options] IMAGE_ID
에서는 해당 명령으로 시작된 컨테이너에 인증서 정보가 포함됩니다. 간단하고 재현 가능합니다.
답변
답변
상대 경로를 사용하여 볼륨을 컨테이너에 마운트 할 수 있습니다.
docker run -v `pwd`/certs:/container/path/to/certs ...
pwd
현재 작업 디렉토리를 제공하는 백틱에 유의하십시오 . certs
현재 디렉터리 docker run
에 실행되는 폴더 가 있다고 가정합니다 . 로컬 개발에 적합하며 프로젝트에서 certs 폴더를 계속 볼 수 있습니다.