Secrets 최상위 요소
Secrets 최상위 요소 (Secrets top-level element)
Compose 파일의 secrets 최상위 요소는 민감한 데이터에 초점을 맞춘 Config의 변형이에요. 파일 또는 환경 변수에서 값을 가져와 서비스에 부여합니다.
출처: 문서
본문
Secrets는 민감한 데이터에 초점을 맞추고 이 용도에 대한 특정 제약이 있는 Config의 한 변형이에요.
서비스는 services 최상위 요소 안의 secrets 속성으로 명시적으로 부여될 때만 시크릿에 접근할 수 있어요.
최상위 secrets 선언은 Compose 애플리케이션의 서비스에 부여되는 민감한 데이터를 정의하거나 참조해요. 시크릿의 소스는 file 또는 environment 중 하나예요.
file: 시크릿이 지정된 경로의 파일 내용으로 만들어져요.environment: 시크릿이 호스트의 환경 변수 값으로 만들어져요. Docker Compose에서만 지원되며,docker stack deploy로 배포할 때는 지원되지 않아요.
예시 1 (Example 1)
server-certificate 시크릿은 애플리케이션이 배포될 때 <project_name>_server-certificate로 생성되는데, server.cert의 내용을 플랫폼 시크릿으로 등록해요.
secrets:
server-certificate:
file: ./server.cert
예시 2 (Example 2)
token 시크릿은 애플리케이션이 배포될 때 <project_name>_token으로 생성되는데, OAUTH_TOKEN 환경 변수의 내용을 플랫폼 시크릿으로 등록해요.
secrets:
token:
environment: "OAUTH_TOKEN"
참고
environment시크릿은docker stack deploy로 배포할 때는 지원되지 않아요.file또는external을 시크릿 소스로 사용하세요.
추가 리소스 (Additional resources)
자세한 내용은 "How to use secrets in Compose" 를 참고해요.
더 알아보기 (Learn more)
- Compose에서 시크릿 사용법 가이드를 참고해요.