在我的图片上,我想设置一些环境变量,例如:save(fnSave, 'fnOpen'); % note the quotes
,它将具有静态值,例如:MY_VAR
但是我 NOT 希望能够通过docker的MY_VAR=12
param或docker-compose.yml的-e
部分进行设置。
此外,当我environment
或docker build
我该怎么做?
答案 0 :(得分:2)
您可以从入口点脚本执行此操作。
在您的Dockerfile中:
ENTRYPOINT ["/entrypoint.sh"]
示例entrypoint.sh:
#!/bin/sh
export VAR=foobar
exec /usr/bin/python "$@"
要更灵活,并允许使用-e
选项进行设置:
export VAR=${VAR:-"foobar"}
...
答案 1 :(得分:1)
您问题的最佳解决方案是在您的docker-compose构建中包含env_file
version: '3.2'
services:
db:
restart: always
image: postgres:alpine
volumes:
- backup-data:/var/lib/postgresql/data
env_file:
- ./env/.dev
然后在你的env_file中:
POSTGRES_USER=my_user
POSTGRES_PASSWORD=my_password
POSTGRES_DB=my_db