GOOGLE ADS

Mittwoch, 27. April 2022

So überprüfen Sie von innerhalb eines Containers, ob ein anderer Container auf dem Port ausgeführt wird

Ich betreibe 2 Container gleichzeitig (verbunden über Docker-Compose beim Setzen von Links && dependent_on). Die Abhängigkeit von reicht nicht aus, also möchte ich, dass das Skript, das auf dem Entryphone eines der Container ausgeführt wird, überprüft, ob der andere Container bereits auf einem Port ausgeführt wird.

Ich habe es versucht:

#!bin/bash
until nc -z w10 <container_name> 3306
do
echo waiting for db to be ready...
sleep 2
done
echo code is ready

Aber das funktioniert nicht..

Hat jemand eine Idee?


Lösung des Problems

Ich würde vorschlagen, den depends_onAnsatz zu verwenden. Sie können jedoch einige der erweiterten Einstellungen dieses Befehls verwenden. Bitte lesen Sie die Dokumentation der Start- und Herunterfahrreihenfolge von Control in Compose

Sie können das Wait-for-it.sh- Skript verwenden, um genau das zu erreichen, was Sie brauchen. Auszug aus der Dokumentation:

version: "2"
services:
web:
build:.
ports:
- "80:8000"
depends_on:
- "db"
command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
db:
image: postgres

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...