【发布时间】:2019-10-20 18:00:19
【问题描述】:
我制作了一个.env 文件,其中包含一些变量:
WS_PORT=12345
现在docker-compose.yml的配置方式是:
gateway:
build:
context: ./src/WebSocket
dockerfile: Dockerfile
image:sn-gateway
container_name: sn-gateway
ports:
- "12345:12345"
volumes:
- vendor:/root/vendor
- ./src/WebSocket:/root
env_file:
- ./src/WebSocket/config/.env
我遇到的问题是Dockerfile 运行了一个应该使用环境变量的脚本(运行docker-compose config 确实列出了它),但脚本中的变量是空的。
脚本:
#!/bin/sh
echo ------
echo $WS_PORT
echo ------
什么都没有。我做错了什么,可以这样做吗?我已经看到很多通过 shell 命令和类似命令转发ENV 的示例,但我不希望这样。我希望在运行 docker-compose up -d 时一切正常,而无需指定任何内容。
【问题讨论】:
标签: shell docker docker-compose environment-variables dockerfile