【发布时间】:2021-02-07 20:21:20
【问题描述】:
我在/opt/myapp/docker-compose.yml 有一个撰写文件(在同一个地方的其他人身上)。
我想运行docker-compose stop,但从主机上的其他位置运行,比如说/home/username/scripts/。当我跑步时:
docker-compose -f /opt/myapp/docker-compose.yml stop
它引发了这个错误:
ERROR: The Compose file '/opt/myapp/docker-compose.yml' is invalid because:
services.myapp-db.ports contains an invalid type, it should be a number, or an object
services.myapp-nginx.ports contains an invalid type, it should be a number, or an object
我怀疑这是因为我使用环境变量设置了这些端口值,这些环境变量在位于 docker-compose.yml 文件附近的 .env 文件中定义。例如:
version: '3.8'
volumes:
dbdata: {}
services:
db:
image: postgres
environment:
POSTGRES_DB:
POSTGRES_USER:
POSTGRES_PASSWORD:
volumes:
- dbdata:/var/lib/postgresql/data
ports:
- ${PORT}:5432
web:
image: nginx
environment:
NGINX_HOST:
NGINX_PORT:
volumes:
- ./templates:/etc/nginx/templates
ports:
- "${PORT2}:80"
问题
考虑到正确的环境变量,但从主机?
【问题讨论】:
-
请帮忙分享你的
docker-compose.yml文件
标签: docker docker-compose environment-variables