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