docker pass set

docker pass set

docker pass set 명령은 시크릿을 설정합니다.

출처: 문서

본문

로컬 OS 키체인에 시크릿을 저장하는 명령어예요. 시크릿 값은 인라인(NAME=VALUE)으로 제공하거나 STDIN으로 파이프할 수 있어요.

같은 id의 시크릿이 이미 존재할 때의 동작은 플랫폼에 따라 달라요:

  • macOS (Keychain): 중복 항목 오류로 명령이 실패해요.
  • Linux (Secret Service) 및 Windows (Credential Manager): 기존 값이 조용히 덮어써져요.

기존 시크릿을 덮어쓰려면 --force를 전달해요. Linux와 Windows에서는 교체가 원자적으로 수행돼요. macOS에서는 Keychain API가 삭제-후-추가 순서를 요구해요.

구분 내용
Description 시크릿 설정
Usage docker pass set id[=value] [flags]

옵션 (Options)

옵션 기본값 설명
-f, --force 이미 존재하면 기존 시크릿 덮어쓰기
--metadata 민감하지 않은 key=value 메타데이터 (반복 가능)

예시 (Examples)

시크릿 설정:

$ docker pass set POSTGRES_PASSWORD=my-secret-password

또는 STDIN으로 시크릿 전달:

$ echo my-secret-password > pwd.txt
$ cat pwd.txt | docker pass set POSTGRES_PASSWORD

메타데이터와 함께 시크릿 설정:

$ docker pass set POSTGRES_PASSWORD=my-secret-password --metadata owner=alice --metadata expiry=2027-03-01

또는 STDIN으로 시크릿과 메타데이터가 있는 JSON 페이로드 전달:

$ echo '{"secret":"my-secret-password","metadata":{"owner":"alice"}}' | docker pass set POSTGRES_PASSWORD

기존 시크릿 덮어쓰기:

$ docker pass set POSTGRES_PASSWORD=new-secret-password --force