Docker Compose | secrets

Docker Compose で docker-compose.yml には書き込みたくないパスワードなどを扱いたいときには secrets を使う。

ディレクトリー構成

1
2
3
- /
+- docker-compose.yml
+- secret.txt

docker-compose.yml

  1. バージョンは 3.1 以降
  2. secrets でパスワードなどが書かれたファイルを指定する
  3. 読み込まれたファイルは /run/secrets ディレクトリーに格納される
1
2
3
4
5
6
7
8
9
10
11
12
version: "3.1"
services:
app:
image: busybox:latest
secrets:
- my_secret
command:
- cat
- /run/secrets/my_secret
secrets:
my_secret:
file: ./secret.txt

secret.txt

秘密の合言葉が書かれたファイルを用意する。

1
himitsu no kotoba

実行

秘密の合言葉が出力されることを確認する。

1
2
3
4
$ sudo docker-compose up
Recreating secret_app_1 ... done
Attaching to secret_app_1
app_1 | himitsu no kotoba