docker secret rm 명령어를 사용하여 secrets 삭제하는 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 Docker secrets 를 사용하여 Docker 에서 민감한 데이터를 안전하게 관리하는 방법을 배우게 됩니다. 먼저, 민감한 정보를 저장하기 위해 Docker secret 을 생성하는 것으로 시작합니다.

생성 후에는 기존 secrets 를 나열하여 secret 이 Docker 환경에 성공적으로 추가되었는지 확인합니다. 마지막으로, secret 을 제거하고 다시 secrets 를 나열하여 제거를 확인하는 연습을 합니다. 이 실습을 통해 Docker secrets 를 생성, 나열 및 제거하는 데 필요한 필수 명령어를 익힐 수 있습니다.

Secret 생성

이 단계에서는 Docker 에서 secret 을 생성하는 방법을 배우게 됩니다. Docker secrets 는 컨테이너가 런타임에 필요로 하는 비밀번호, SSH 키 및 기타 자격 증명과 같은 민감한 데이터를 관리하는 데 사용됩니다. secrets 를 사용하는 것은 컨테이너 이미지에 직접 저장하거나 환경 변수로 전달하는 것보다 민감한 정보를 처리하는 더 안전한 방법입니다.

secret 을 생성하기 전에 필요한 Docker 환경이 설정되어 있는지 확인해 보겠습니다. LabEx VM 에는 Docker 가 사전 설치되어 있습니다. 다음 명령을 실행하여 Docker 버전을 확인할 수 있습니다.

docker version

Docker 가 설치되어 실행 중임을 나타내는 다음과 유사한 출력을 볼 수 있습니다.

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        baedd2a
 Built:             Tue Oct 25 17:58:10 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       363bd3a
  Built:            Tue Oct 25 17:56:32 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd335e8e55e68bf582ae4525b3a13ffa8a49392
  Built:            Tue Oct 25 17:54:39 2022
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
  Built:            Tue Oct 25 17:54:25 2022
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  Built:            Tue Oct 25 17:54:16 2022

secret 을 생성하려면 docker secret create 명령을 사용할 수 있습니다. 이 명령은 표준 입력 또는 파일에서 민감한 데이터를 읽고 Docker 에서 secret 을 생성합니다.

s3cr3t 값을 포함하는 my_password라는 간단한 secret 을 생성해 보겠습니다. secret 값을 docker secret create 명령으로 파이프할 것입니다.

echo "s3cr3t" | docker secret create my_password -

명령을 실행하면 Docker 가 secret 을 생성하고 ID 를 출력합니다. 출력은 다음과 유사합니다.

<secret_id>

<secret_id>는 방금 생성한 secret 의 고유 식별자입니다. 향후 작업에 필요할 수 있으므로 이 점을 기억하십시오.

생성 확인을 위해 secrets 나열

이 단계에서는 이전 단계에서 생성한 secret 이 성공적으로 추가되었는지 확인하기 위해 Docker 에서 기존 secrets 를 나열하는 방법을 배우게 됩니다.

Docker 에서 관리하는 모든 secrets 를 나열하려면 docker secret ls 명령을 사용할 수 있습니다. 이 명령은 ID, 이름 및 생성 타임스탬프를 포함하여 secrets 목록을 제공합니다.

secrets 를 확인하기 위해 명령을 실행해 보겠습니다.

docker secret ls

출력에는 이전 단계에서 생성한 my_password secret 이 ID 및 생성 시간과 함께 표시되어야 합니다. 출력은 다음과 유사합니다.

ID                          NAME                CREATED             UPDATED
<secret_id>                 my_password         About a minute ago  About a minute ago

my_password secret 이 나열되어 성공적으로 생성되었음을 확인할 수 있습니다. <secret_id>는 secret 을 생성했을 때 출력된 ID 와 일치합니다.

이 명령은 secrets 를 관리하고 Docker 환경에서 올바르게 구성되었는지 확인하는 데 유용합니다.

Secret 삭제

이 단계에서는 Docker 에서 secret 을 삭제하는 방법을 배우게 됩니다. secret 을 삭제하는 것은 보안을 위해, 그리고 더 이상 필요하지 않은 secret 을 정리하기 위해 중요합니다.

secret 을 삭제하려면 docker secret rm 명령을 사용하고 그 뒤에 secret 의 이름 또는 ID 를 입력합니다. 이전 단계에서 my_password라는 secret 을 생성했습니다.

my_password secret 을 삭제해 보겠습니다.

docker secret rm my_password

명령을 실행하면 Docker 가 secret 을 삭제하고 삭제된 secret 의 이름 또는 ID 를 출력합니다. 출력은 다음과 유사합니다.

my_password

이는 my_password secret 이 Docker 환경에서 성공적으로 삭제되었음을 확인합니다.

더 이상 사용하지 않는 secret 을 삭제하여 민감한 정보에 대한 무단 접근 위험을 최소화하는 것이 좋습니다.

삭제 확인을 위한 Secret 목록 확인

이 단계에서는 이전 단계에서 삭제한 my_password secret 이 더 이상 존재하지 않는지 확인하기 위해 Docker secrets 를 다시 나열합니다.

모든 secrets 를 나열하려면 docker secret ls 명령을 사용합니다.

docker secret ls

이번에는 출력에 my_password secret 이 포함되지 않아야 합니다. 환경에 다른 secrets 가 없었다면 출력은 다음과 같을 수 있습니다.

ID                          NAME                CREATED             UPDATED

다른 secrets 가 있는 경우 해당 secrets 가 나열되지만 my_password는 표시되지 않아야 합니다. 이는 삭제 작업이 성공했음을 확인합니다.

삭제 후 secrets 를 나열하는 것은 민감한 데이터가 더 이상 Docker 환경에 저장되지 않도록 하는 좋은 방법입니다.

요약

이 랩에서는 secrets 를 사용하여 Docker 에서 민감한 데이터를 안전하게 관리하는 방법을 배웠습니다. 먼저 Docker 환경을 확인한 다음, 표준 입력을 통해 secret 값을 파이핑하여 docker secret create 명령을 사용하여 my_password라는 secret 을 생성했습니다.

secret 을 생성한 후, docker secret ls 명령을 사용하여 기존 secrets 를 나열하고 my_password의 성공적인 생성을 확인했습니다. 마지막으로, docker secret rm 명령을 사용하여 secret 을 삭제하는 연습을 하고, secrets 를 다시 나열하여 삭제를 확인하여 Docker secret 의 전체 수명 주기를 시연했습니다.