[英]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.