我从入口点导出了环境变量,但为什么在 docker 容器中打印时看不到它?



我导出了环境变量,但是无法在容器中使用下面的命令进行检查。

docker exec -it {containerID} bash printenv

docker-copose.yml

...
services:
django:
build:
context: .
dockerfile: ./Dockerfile
image: django
container_name: django
depends_on:
- postgres
env_file:
- ./.envs/.local/.django
ports:
- "8000:8000"
command: /start
...

Dockerfile

...    
ENTRYPOINT ["/entrypoint"]

入口点

#!/bin/sh
set -e
echo >&2 echo !!!!!!!!!!!!!!!!!!!!!
echo >&2 echo ${DJANGO_SETTINGS_MODULE}
echo >&2 echo DJANGO_SETTINGS_MODULE

实际上一切都很好。结果

不只是打印什么都没有和奇怪。

docker exec <container_id> bash -c 'echo "$DJANGO_SETTINGS_MODULE"'

我想知道的是入口点导出的环境在哪里?为什么我不能检查集装箱里面?

发出docker命令有更正。试试下面的命令

docker exec -it {containerID} printenv
docker exec {containerID} bash -c 'echo $DJANGO_SETTINGS_MODULE'

最新更新