label 로 secret 필터링
이 단계에서는 레이블을 기반으로 secret 을 필터링하는 방법을 배우게 됩니다. 레이블은 secret 을 포함한 Docker 객체에 연결하여 구성하고 분류할 수 있는 키 - 값 쌍입니다. 레이블별 필터링은 복잡한 환경에서 secret 을 관리하는 강력한 방법입니다.
먼저, 새 secret 을 생성하고 생성하는 동안 레이블을 추가해 보겠습니다. labeled_secret라는 secret 을 생성하고 environment=production 레이블을 추가합니다.
다음 명령을 실행하여 레이블이 있는 secret 을 생성합니다.
echo "production_value" | docker secret create --label environment=production labeled_secret -
이 명령은 이전 docker secret create 명령과 유사하지만, secret 에 레이블을 연결하기 위해 --label environment=production 플래그를 추가했습니다.
이제 다른 레이블이 있는 다른 secret 을 생성해 보겠습니다. 이 secret 의 이름은 dev_secret로 지정하고 environment=development 레이블을 지정합니다.
다음 명령을 실행합니다.
echo "development_value" | docker secret create --label environment=development dev_secret -
docker secret ls를 사용하여 모든 secret 을 나열하면 세 개의 secret 이 모두 표시됩니다.
docker secret ls
출력에는 my_secret, another_secret, labeled_secret 및 dev_secret가 표시됩니다.
secret 을 필터링하고 environment=production 레이블이 있는 secret 만 표시하려면 --filter label=environment=production 옵션을 사용할 수 있습니다.
다음 명령을 실행합니다.
docker secret ls --filter label=environment=production
출력에는 labeled_secret만 표시됩니다.
ID NAME CREATED
<secret_id_3> labeled_secret About a minute ago
마찬가지로, environment=development 레이블이 있는 secret 을 필터링하려면 --filter label=environment=development를 사용합니다.
다음 명령을 실행합니다.
docker secret ls --filter label=environment=development
이렇게 하면 dev_secret만 표시됩니다.
ID NAME CREATED
<secret_id_4> dev_secret About a minute ago
또한 --filter label=environment를 사용하여 값에 관계없이 특정 레이블 키가 있는 secret 을 필터링할 수 있습니다.
다음 명령을 실행합니다.
docker secret ls --filter label=environment
labeled_secret와 dev_secret가 모두 environment 레이블 키를 가지고 있기 때문에 둘 다 표시됩니다.
ID NAME CREATED
<secret_id_3> labeled_secret About 2 minutes ago
<secret_id_4> dev_secret About 2 minutes ago
레이블별 필터링은 자체적으로 정의된 범주를 기반으로 secret 을 관리하고 검색하는 유연한 방법입니다.