ser*_*rah 2 docker docker-compose
当我运行 docker-compose up 时出现以下错误,请指出为什么我收到此错误
服务“mysqldb-docker”引用未定义的卷 mysqldb:无效的撰写项目
另外,有没有办法将 CLI 中的 $ENV 值传递给 docker-compose up ,目前我有一个 ENV 变量指定 dev、uat 或 prod,我用它来指定数据库名称。除了为此明确创建 .env 文件之外,还有更好的替代方法吗
version: '3.8'
services:
mysqldb-docker:
image: '8.0.27'
restart: 'unless-stopped'
ports:
- "3309:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=reco-tracker-$ENV
volumes:
- mysqldb:/var/lib/mysql
reco-tracker-docker:
image: 'reco-tracker-docker:v1'
ports:
- "8083:8083"
environment:
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=root
- SPRING_DATASOURCE_URL="jdbc:mysql://mysqldb-docker:3309/reco-tracker-$ENV"
depends_on: [mysqldb-docker]
Run Code Online (Sandbox Code Playgroud)
And*_*sby 12
您必须volumes在顶层定义如下:
version: '3.8'
services:
mysqldb-docker:
# ...
volumes:
- mysqldb:/var/lib/mysql
volumes:
mysqldb:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13940 次 |
| 最近记录: |