[英]docker-compose issue with starting order
我今天开始学习docker-compose,遇到以下问题。
version : '2'
services:
myService1:
build: .
image: newimagename
restart: always
ports:
- "13000:13000"
links :
- database1
command: ["./wait-for-it.sh", "172.17.0.1:3306", "--"]
database1:
image: mydatabaseimage
ports:
- "3306:3306"
restart: always
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_USER=somename
- MYSQL_PASSWORD=somepassword
细节:
映像mydatabaseimage是根据mariadb映像(已填充数据库条目)构建的映像。
myService1是从Java项目的现有dockerfile构建的。 问题是,为了使dockerfile编译项目,它需要数据库条目。 要进行编译,它将尝试从172.17.0.1:3306查询一些信息。
当我运行此docker-compose时,它将运行dockerfile,然后在Java编译期间将失败,表示无法连接到正确的数据库。 (仅当我之前已经在Docker容器中运行了数据库映像时,我才能运行此docker-compose ...)
我一直在这里的https://docs.docker.com/compose/startup-order/中查看该教程,并尝试使用wait-for-it.sh
我想知道我该怎么做才能首先运行database1映像,等到完成后再myService1甚至开始运行其dockerfile?
谢谢。
尝试在myService1
设置depends_on
。
version: "3"
services:
myService1:
build: .
depends_on: database1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.