【发布时间】:2018-10-06 04:31:42
【问题描述】:
尝试使用 docker-compose.yml 而不是像这样单独启动容器:
docker container run --name mysql -d -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_DATABASE=currency -e MYSQL_USER=currency -e MYSQL_PASSWORD=currency mysql/mysql-server:5.7
docker run --name currency -d -p 8000:5000 --rm --link mysql:dbserver -e DATABASE_URL=mysql+pymysql://currency:currency@dbserver/currency currency:latest
单独运行时,flask 应用会正确找到 DATABASE_URL 并使用 mysql db。
我使用的 docker-compose.yml 文件如下:
version: "2"
services:
mysql:
image: mysql/mysql-server:5.7
environment:
- MYSQL_RANDOM_ROOT_PASSWORD:yes
- MYSQL_DATABASE:currency
- MYSQL_USER:currency
- MYSQL_PASSWORD:currency
currency:
build: .
links:
- "mysql:dbserver"
ports:
- "8000:5000"
environment:
- DATABASE_URL:"mysql+pymysql://currency:currency@dbserver/currency"
当我使用 docker-compose.yml 时,它没有使用 mysql 数据库。我相信对于 docker-compose.yml 中的一些错误,烧瓶应用程序无法看到环境变量“DATABASE_URL”。 docker-compose.yml 出了什么问题?
【问题讨论】:
标签: mysql docker flask environment-variables