概要
過去に docker secret を使う方法を紹介しました
今回は docker-compose から使ってみます
環境
- Ubuntu 18.04
- docker 19.03
- docker swarm
シークレットファイル作成
-
echo "This is secret.txt" > secret.txt
docker-compose.yml
version: '3.8'
services:
myapp:
image: alpine:latest
secrets:
- source: my_secret
target: secret.txt
command: cat /run/secrets/secret.txt
secrets:
my_secret:
file: ./secret.txt
stack deploy
- docker -H swarm01:2376 stack deploy test -c docker-compose.yml
動作確認
- docker -H swarm01:2376 service logs test_myapp
シークレットファイルを更新した場合は
再度同じ docker-compose.yml で更新しようとすると以下のようなエラーになります
これはすでに前のシークレット情報で同一名称のシークレットが作成されてしまっているので名前を変更して別のシークレットとして登録する必要があります
failed to update secret test_my_secret: Error response from daemon: rpc error: code = InvalidArgument desc = only updates to Labels are allowed
docker-compose.yml の secret だけ書き換え
version: '3.8'
services:
myapp:
image: alpine:latest
secrets:
- source: my_secret_v2
target: secret.txt
command: cat /run/secrets/secret.txt
secrets:
my_secret_v2:
file: ./secret.txt
これで再度 stack deploy をすれば成功します
0 件のコメント:
コメントを投稿