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에서 시크릿 사용법 가이드를 참고해요.