docker swarm unlock 명령을 사용하여 swarm manager 잠금 해제 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker swarm unlock 명령을 사용하여 autolock 기능이 활성화된 상태에서 Docker 데몬이 재시작된 후 Docker swarm manager 의 잠금을 해제하는 방법을 배우게 됩니다. 먼저 autolock 이 활성화된 상태로 swarm 을 초기화하여 고유한 unlock key 를 생성하는 것으로 시작합니다.

다음으로, manager 노드에서 Docker 데몬 재시작을 시뮬레이션하여 autolock 메커니즘을 트리거합니다. 마지막으로, 이전에 얻은 unlock key 와 함께 docker swarm unlock 명령을 사용하여 swarm manager 의 잠금을 성공적으로 해제하여 작업을 재개할 수 있도록 합니다.

autolock 으로 swarm 초기화

이 단계에서는 autolock 기능을 활성화하여 Docker swarm 을 초기화합니다. Autolock 은 Docker 데몬 재시작 후 swarm 을 잠금 해제하기 위해 키가 필요하도록 하여 무단 액세스로부터 swarm 을 보호하는 데 도움이 됩니다.

먼저, swarm 을 초기화해 보겠습니다. --autolock 플래그와 함께 docker swarm init 명령을 사용합니다.

docker swarm init --autolock

swarm 이 초기화되고 unlock key 가 생성되었음을 나타내는 다음과 유사한 출력을 볼 수 있습니다. 다음 단계에서 필요하므로 unlock key 를 복사해 두십시오.

Swarm initialized: current node (xxxxxxxxxxxx) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

To unlock the swarm after it restarts, run the `docker swarm unlock` command and provide the following key:

    Swarm unlock key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

출력은 worker 또는 manager 를 swarm 에 가입시키는 명령과, 중요하게는 Swarm unlock key를 제공합니다. 이 키는 Docker 데몬이 재시작된 후 swarm 을 잠금 해제하는 데 매우 중요합니다.

manager 노드에서 Docker 데몬 재시작

이 단계에서는 manager 노드에서 Docker 데몬 재시작을 시뮬레이션합니다. 이는 이전 단계에서 활성화한 autolock 기능의 효과를 보여줍니다.

Docker 데몬을 재시작하기 위해 systemctl restart docker 명령을 사용합니다. 이는 root 권한이 필요하므로 sudo를 사용합니다.

sudo systemctl restart docker

명령이 실행된 후 Docker 데몬이 중지된 다음 다시 시작됩니다. 이는 서버 재부팅 또는 Docker 서비스의 수동 재시작을 시뮬레이션합니다.

이제 간단한 Docker 명령을 실행하여 swarm 의 상태를 확인해 보겠습니다. docker node ls를 사용합니다.

docker node ls

swarm 이 잠겨 있고 잠금 해제가 필요하다는 오류 메시지가 표시되어야 합니다. 이는 autolock 기능이 예상대로 작동하고 있음을 확인합니다. 출력은 다음과 유사합니다.

Error: swarm is encrypted and needs to be unlocked before it can be used. Please use "docker swarm unlock" to unlock it.

Docker 데몬 재시작으로 인해 swarm 이 잠겼으므로 이 오류 메시지는 예상된 것입니다. 다음 단계에서는 1 단계에서 얻은 unlock key 를 사용하여 swarm 의 잠금을 해제합니다.

docker swarm unlock 명령어로 manager 잠금 해제

이 단계에서는 1 단계에서 얻은 unlock key 를 사용하여 Docker swarm 의 잠금을 해제합니다. 이렇게 하면 다시 swarm 과 상호 작용할 수 있습니다.

1 단계에서 swarm 을 초기화할 때 표시된 unlock key 를 기억하십시오. 이 키를 docker swarm unlock 명령에 제공해야 합니다.

docker swarm unlock 명령을 사용하고 --unlock-key 플래그와 복사한 unlock key 를 차례로 입력합니다. YOUR_UNLOCK_KEY를 실제 키로 바꿉니다.

docker swarm unlock --unlock-key YOUR_UNLOCK_KEY

올바른 unlock key 로 명령을 실행한 후 swarm 의 잠금이 해제되어야 합니다. swarm 이 성공적으로 잠금 해제되었음을 나타내는 출력을 볼 수 있습니다.

Swarm unlocked.

이제 swarm 의 잠금이 해제되었으므로 swarm 의 노드를 나열하여 다시 상호 작용할 수 있는지 확인해 보겠습니다.

docker node ls

이제 manager 노드의 세부 정보를 볼 수 있으며, 이는 swarm 이 작동하고 있음을 나타냅니다. 출력은 다음과 유사합니다.

ID                            HOSTNAME            STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
xxxxxxxxxxxx   labex-vm            Ready     Active         Leader           20.10.21

이는 데몬 재시작 후 Docker swarm 의 잠금을 성공적으로 해제했음을 확인합니다.

요약

이 랩에서는 autolock 기능이 활성화된 상태로 swarm 이 초기화된 경우 Docker 데몬 재시작 후 docker swarm unlock 명령을 사용하여 swarm manager 의 잠금을 해제하는 방법을 배웠습니다. 먼저 docker swarm init --autolock을 사용하여 Docker swarm 을 초기화하여 재시작 후 swarm 에 다시 액세스하는 데 필수적인 고유한 unlock key 를 생성했습니다. 그런 다음 sudo systemctl restart docker를 사용하여 manager 노드에서 Docker 데몬 재시작을 시뮬레이션하여 autolock 메커니즘을 트리거했습니다. 이는 초기화 중에 얻은 unlock key 의 중요성을 보여주었습니다.