Pav*_*vel 10 amazon-web-services docker docker-compose aws-parameter-store
我将所有秘密数据保存到 AWS Parameter Store 中,我的应用程序使用 docker-compose 运行,并尝试aws ssm get-parameters在内部进行评估docker-compose.yaml:
version: "3.7"
services:
db:
image: postgres
restart: always
volumes:
- /home/ec2-user/dbdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: $$(aws ssm get-parameters --name DB_USERNAME --region eu-north-1 --output text --query Parameters[].Value)
POSTGRES_PASSWORD: $$(aws ssm get-parameters --name DB_PASSWORD --region eu-north-1 --output text --with-decryption --query Parameters[].Value)
POSTGRES_DB: $$(aws ssm get-parameters --name DB_NAME --region eu-north-1 --output text --query Parameters[].Value)
ports:
- 5432:5432
auth:
build: .
restart: always
environment:
DB_ENDPOINT: $$(aws ssm get-parameters --name DB_ENDPOINT --region eu-north-1 --output text --query Parameters[].Value)
DB_USERNAME: $$(aws ssm get-parameters --name DB_USERNAME --region eu-north-1 --output text --query Parameters[].Value)
DB_PASSWORD: $$(aws ssm get-parameters --name DB_PASSWORD --region eu-north-1 --output text --with-decryption --query Parameters[].Value)
JWT_KEY: $$(aws ssm get-parameters --name JWT_KEY --region eu-north-1 --output text --query Parameters[].Value)
JWT_EXPIRED: $$(aws ssm get-parameters --name JWT_EXPIRED --region eu-north-1 --output text --query Parameters[].Value)
depends_on:
- db
links:
- db
ports:
- 80:80
Run Code Online (Sandbox Code Playgroud)
但建设$$(<command>)不行。
我得到的不是参数存储中的预期值
$(get-parameters --name DB_ENDPOINT --region eu-north-1 --output text --query 参数[].Value)
我知道如何通过准备一个export MY_VAR="$(get-parameters ...)"可以理解的脚本来做到这一点。
但问题是我可以获取 Parameter Store 值吗?docker-compose.yaml如果可以的话,如何获取?
不幸的是,没有办法做到这一点。
正如您所说,您必须在运行命令之前设置环境变量docker-compose up:
export MY_KEY=$(aws ssm get-parameter --name "YOUR-PARAMETER-NAME" [--with-decryption] --output text --query Parameter.Value)
Run Code Online (Sandbox Code Playgroud)
然后在您的docker-compose.yml文件中设置环境变量:
version: "3.7"
services:
...
environment:
MY_SSM_KEY: ${MY_KEY}
...
Run Code Online (Sandbox Code Playgroud)
现在,docker-compose up将按需要运行。
| 归档时间: |
|
| 查看次数: |
1867 次 |
| 最近记录: |