8.3.6.3. Docker 전략
Docker
전략을 사용하는 경우 Dockerfile 의 ADD
및 COPY
명령을 사용하여 정의된 모든 입력 보안을 컨테이너 이미지에 추가할 수 있습니다.
보안의 destinationDir
을 지정하지 않으면 Dockerfile 이 있는 동일한 디렉터리로 파일이 복사됩니다. 상대 경로를 destinationDir
로 지정하면 보안이 Dockerfile 위치와 관련하여 해당 디렉터리에 복사됩니다. 그러면 Docker 빌드 작업에서 빌드 중 사용하는 컨텍스트 디렉터리의 일부로 보안 파일을 사용할 수 있습니다.
예 8.1. 보안 데이터를 참조하는 Dockerfile의 예
FROM centos/ruby-22-centos7 USER root ADD ./secret-dir /secrets COPY ./secret2 / # Create a shell script that will output secrets when the image is run RUN echo '#!/bin/sh' > /secret_report.sh RUN echo '(test -f /secrets/secret1 && echo -n "secret1=" && cat /secrets/secret1)' >> /secret_report.sh RUN echo '(test -f /secret2 && echo -n "relative-secret2=" && cat /secret2)' >> /secret_report.sh RUN chmod 755 /secret_report.sh CMD ["/bin/sh", "-c", "/secret_report.sh"]
참고
일반적으로 사용자는 해당 이미지에서 실행 중인 컨테이너에 보안이 표시되지 않도록 최종 애플리케이션 이미지에서 입력 보안을 제거해야 합니다. 그러나 보안은 추가된 계층에 있는 이미지 자체에 계속 존재합니다. 이 제거는 Dockerfile 자체에 포함되어야 합니다.