我正在尝试从条件 entrypoint.sh 脚本中获取 .env 文件,其中一部分如下所示:
if [ -f "some-env-file.env" ]; then
source some-env-file.env
在 .env 文件中找到的环境变量的简单回显,就在上述源命令之后,输出正确的值,并且在入口点脚本中提供的操作成功执行。
但是,当我docker exec -it
在实例化的容器中执行操作时,env 文件看起来好像不是源文件。只有当我从那里再次采购时,我才能得到理想的结果。(更具体地说,env文件用于指向python的特定运行时环境。因此进入容器后,只有当我再次获取env文件时才能正确调用python)。
我究竟做错了什么?
作为参考,这些是我的 Dockerfile 的最后几行(没什么特别的):
COPY ./entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
容器实例化是使用docker-compose
yaml 完成的。
提前致谢,如果之前有人问过这个问题,我们深表歉意。