ドッカーの作成を使用して3つのドッキングコンテナーを連続した順序で開始しようとしています。 - >データベース Docker-composeサービスの開始順序
- アプリサービス-DBコンテナ:私は、次のコンテナを持っています
「app-service」コンテナは、他の2つのコンテナの仕上げを開始したときにのみ開始します。 サービスが利用可能になるのを待つために 'wait-for'スクリプトを使用しています(https://github.com/Eficode/wait-for)。ここで
私はドッキングウィンドウ-compose.yml
app.dockerfileversion: '3.4' services: config-service: image: "config-service:1.0" hostname: config-service container_name: config-service build: context: ../config dockerfile: config.dockerfile expose: - "8888" logging: driver: json-file app-service-db: image: "app-service-db:10.3" hostname: app-service-db container_name: app-service-db build: context: ../app-service dockerfile: app-db.dockerfile environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: app expose: - "3306" logging: driver: json-file app-service: image: "app-service:1.0" hostname: app-service container_name: app-service build: context: ../app-service dockerfile: app.dockerfile ports: - "8080:8080" expose: - "8080" logging: driver: json-file command: sh -c './wait-for app-service-db:3306 && config-service:8888' depends_on: - config-service - app-service-db
config.dockerfile
FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/config-1.0-final.jar config.jar ENTRYPOINT ["java", "-jar", "config.jar"] EXPOSE 8888
アプリ-db.dockerfile
の内側に持っているものですFROM mariadb:10.3
FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/app-1.0-final.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] EXPOSE 8080
'app-service-db'と 'config-service'が終了する前に 'docker-compose up' cmdを実行すると、 'app-service'コンテナが開始され、見つからないため終了します任意の接続。 この作業を行い、他の2つのコンテナが起動したときにのみ 'app-service'コンテナを強制的に開始するにはどうすればよいですか。
ありがとうございます。 https://docs.docker.com/compose/compose-file/#depends_on
これは、ドッカーランタイムの事である:
ドッカの画像で「追加/待ち合わせ待ち」が欠落していましたが、ENTRYPOINT ...ヘルプを削除しました。 –
ようこそ! –