docker swarm unlock コマンドを使用してスワームマネージャのロックを解除する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、自動ロック機能を有効にして Docker デーモンを再起動した後、docker swarm unlock コマンドを使用して Docker ス warm マネージャをロック解除する方法を学びます。まず、自動ロックを有効にしてス warm を初期化し、一意のロック解除キーを生成します。

次に、マネージャノードで Docker デーモンの再起動をシミュレートし、自動ロックメカニズムをトリガーします。最後に、前に取得したロック解除キーを使用して docker swarm unlock コマンドを実行し、ス warm マネージャを正常にロック解除し、操作を再開できるようにします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ps -.-> lab-555244{{"docker swarm unlock コマンドを使用してスワームマネージャのロックを解除する方法"}} docker/restart -.-> lab-555244{{"docker swarm unlock コマンドを使用してスワームマネージャのロックを解除する方法"}} docker/system -.-> lab-555244{{"docker swarm unlock コマンドを使用してスワームマネージャのロックを解除する方法"}} end

自動ロックを有効にしてス warm を初期化する

このステップでは、自動ロック機能を有効にして Docker ス warm を初期化します。自動ロックは、Docker デーモンを再起動した後にス warm をロック解除するためにキーが必要になることで、不正アクセスからス warm を保護するのに役立ちます。

まず、ス warm を初期化しましょう。--autolock フラグを付けて docker swarm init コマンドを使用します。

docker swarm init --autolock

以下のような出力が表示され、ス warm が初期化され、ロック解除キーが生成されたことが示されます。次のステップで必要になるので、ロック解除キーをコピーしておいてください。

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

この出力には、ス warm にワーカーまたはマネージャを追加するためのコマンドと、重要な Swarm unlock key が表示されます。このキーは、Docker デーモンを再起動した後にス warm をロック解除するために不可欠です。

マネージャノードで Docker デーモンを再起動する

このステップでは、マネージャノードで Docker デーモンの再起動をシミュレートします。これにより、前のステップで有効にした自動ロック機能の効果を確認できます。

Docker デーモンを再起動するには、systemctl restart docker コマンドを使用します。この操作には root 権限が必要なので、sudo を使用します。

sudo systemctl restart docker

コマンドを実行すると、Docker デーモンは停止してから再度起動します。これは、サーバの再起動や Docker サービスの手動再起動をシミュレートしています。

では、簡単な Docker コマンドを実行して、ス warm の状態を確認しましょう。docker node ls を使用します。

docker node ls

ス warm がロックされており、ロック解除が必要であることを示すエラーメッセージが表示されるはずです。これにより、自動ロック機能が期待通りに動作していることが確認できます。出力は次のようになります。

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

このエラーメッセージは、Docker デーモンの再起動によりス warm がロックされたために予想されるものです。次のステップでは、ステップ 1 で取得したロック解除キーを使用してス warm をロック解除します。

docker swarm unlock を使用してマネージャをロック解除する

このステップでは、ステップ 1 で取得したロック解除キーを使用して Docker ス warm のロックを解除します。これにより、再度ス warm とやり取りできるようになります。

ステップ 1 でス warm を初期化したときに表示されたロック解除キーを思い出してください。このキーを docker swarm unlock コマンドに指定する必要があります。

docker swarm unlock コマンドの後に --unlock-key フラグとコピーしたロック解除キーを指定します。YOUR_UNLOCK_KEY を実際のキーに置き換えてください。

docker swarm unlock --unlock-key YOUR_UNLOCK_KEY

正しいロック解除キーを指定してコマンドを実行すると、ス warm のロックが解除されるはずです。ス warm が正常にロック解除されたことを示す出力が表示されます。

Swarm unlocked.

ス warm のロックが解除されたので、ス warm 内のノードを一覧表示することで、再度ス warm とやり取りできることを確認しましょう。

docker node ls

これでマネージャノードの詳細が表示され、ス warm が動作していることがわかります。出力は次のようになります。

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

これにより、デーモンの再起動後に Docker ス warm のロックを正常に解除できたことが確認できます。

まとめ

この実験では、自動ロック機能を有効にしてスワームを初期化した場合に、Docker デーモンを再起動した後に docker swarm unlock コマンドを使用してスワームマネージャのロックを解除する方法を学びました。まず、docker swarm init --autolock を使用して Docker スワームを初期化し、再起動後にスワームに再度アクセスするために必要な一意のロック解除キーを生成しました。次に、sudo systemctl restart docker を使用してマネージャノードで Docker デーモンの再起動をシミュレートし、自動ロックメカニズムをトリガーしました。これにより、初期化時に取得したロック解除キーの重要性が実証されました。