我制作了一个.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
时一切正常,而无需指定任何内容。
答案 0 :(得分:0)
您可以在脚本中获取环境文件
#!/bin/sh
source ./src/WebSocket/config/.env
echo ------
echo $WS_PORT
echo ------