我导出了环境变量,但是无法在容器中使用下面的命令进行检查。
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'