Ich bin daran interessiert, mit wait-for-it einen Dienst in Docker-Compose warten auf einen anderen, mit Bildern basierend auf der Alpine Linux-Distribution.Wie benutzt man ein Bash-Skript in Alpine Linux?
Allerdings, wenn ich die wait-for-it
Repository klonen und es die folgenden Dockerfile
hinzufügen,
FROM alpine
RUN apk --update add bash
COPY wait-for-it.sh wait-for-it.sh
CMD ["./wait-for-it.sh", "www.google.com:80"]
Dann baue ich es docker build --tag waitforit .
von docker run waitforit
gefolgt, aber ich bekomme diese Fehlermeldung:
timeout: can't execute '15': No such file or directory
wait-for-it.sh: timeout occurred after waiting 15 seconds for www.google.com:80
Im Gegensatz dazu sehe ich das, wenn ich diesen Befehl auf meinem (Ubuntu 16.04 LTS) Computer starte:
wait-for-it.sh: waiting 15 seconds for www.google.com:80
wait-for-it.sh: www.google.com:80 is available after 0 seconds
Es scheint, dass das Bash-Skript nicht im Alpine-Container funktioniert, wie es auf meinem lokalen Ubuntu-Rechner ist. Wie kann ich das beheben?
Was ist die ausführbare Datei von wait-for-it.sh? Siehe die erste Zeile. #!/bin/bash oder sh? – Robert
Scheint, als ob dein Shell-Skript einen Fehler enthält. Bitte fügen Sie das Skript ein – n2o