【发布时间】:2017-06-18 17:35:34
【问题描述】:
使用docker-compose v2 环境变量可以简单地设置:
enviroment:
- MONGO_PATH=mongodb://db-mongo:27017
完整的docker-compose.yml 文件为:
version: '2'
services:
web:
build: .
environment:
- MONGO_PATH=mongodb://db-mongo:27017
ports:
- "3000:3000"
volumes:
- .:/app
- /app/node_modules
depends_on:
- db-mongo
- db-redis
db-mongo:
image: mongo
restart: unless-stopped
command: --smallfiles
ports:
- "27017:27017"
volumes:
- ./data:/data/db
[...]
但是,如何转义不是纯字符串的环境变量?
{"database": {"data": {"host": "mongo"}}}
我试过了:
NODE_CONFIG=\{"database": \{"data"\: \{"host": "mongo"\}, "session": \{"host": "redis" \}\}\}
NODE_CONFIG="\{"database": \{"data"\: \{"host": "mongo"\}, "session": \{"host": "redis" \}\}\}"
NODE_CONFIG='{"database": {"data": {"host": "mongo"}, "session": {"host": "redis" }}}'
ERROR: yaml.parser.ParserError: while parsing a block mapping in “./docker-compose.yml”,第 6 行,第 9 列,但 在“./docker-compose.yml”第 6 行第 92 列中找到 '}'
【问题讨论】:
标签: docker environment-variables docker-compose