簡體   English   中英

docker-compose問題與開始順序

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM