シークレットの作成
このステップでは、Docker でシークレットを作成する方法を学びます。Docker シークレットは、コンテナが実行時に必要とするパスワード、SSH キー、その他の資格情報などの機密データを管理するために使用されます。シークレットを使用することは、機密情報をコンテナイメージに直接保存したり、環境変数として渡したりするよりも安全な方法です。
シークレットを作成する前に、必要な 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
シークレットを作成するには、docker secret create
コマンドを使用できます。このコマンドは、標準入力またはファイルから機密データを読み取り、Docker 内にシークレットを作成します。
値 s3cr3t
を含む my_password
という名前のシンプルなシークレットを作成しましょう。シークレットの値を docker secret create
コマンドにパイプで渡します。
echo "s3cr3t" | docker secret create my_password -
コマンドを実行すると、Docker はシークレットを作成し、その ID を出力します。出力は以下のようになります。
<secret_id>
<secret_id>
は、あなたが作成したシークレットの一意の識別子です。将来的な操作で必要になる可能性があるので、このことを覚えておいてください。