Ich habe ein Rails
Bild mit Andockfenster gebaut, aber jetzt weiß ich nicht, wie Sie Dockerfile verwenden, um die passenger
einzustellen.Dockerfile automatisch starten Passagier starten mit Schienen
Mein Dockerfile
jetzt ist
FROM username/my_app:latest
WORKDIR /my_app
# Expose port 3000 to the Docker host, so we can access it from the outside.
EXPOSE 3000
Jetzt muss ich zuerst den Behälter laufen, und dann führen Sie den passenger
Befehl wie folgt.
docker run -it -p 4321:3000 \
--name my_app \
username/my_app
Dann
docker exec -itd my_app /bin/bash -c -l "whenever -iw"
docker exec -it my_app /bin/bash -c -l "passenger start"
eingeben Endlich kann ich meine App Zugriff in http://localhost:4321
Gibt es eine Weise, die ich nur docker run ....
verwenden, können automatisch meine App zu starten und die passenger start
drehen?
Ich habe das versucht, aber es scheint nicht funktionieren.
FROM username/my_app:latest
WORKDIR /my_app
RUN whenever -iw
RUN passenger start
# Expose port 3000 to the Docker host, so we can access it from the outside.
EXPOSE 3000
Es Docker werfen: 'Fehlerreaktion von Daemon: OCI-Laufzeitfehler: container_linux.go: 247: Startbehälter Prozess verursacht„exec : \ "awesome -iw && passagier start \": Die ausführbare Datei wurde nicht in $ PATH gefunden. ".' –
Entweder ist das' aswey' Paket nicht installiert oder es ist nicht in der Lage den Befehlspfad zu finden. Zuerst starten Sie den Container manuell und überprüfen Sie, ob beide Befehle korrekt sind und ausgeführt werden können, wenn Sie wie 'aswhere -iw && passagier start' laufen oder die Shell/bin/sh standardmäßig verwenden, die diesen binären Pfad nicht erkennt. Wenn beide Befehle nicht zusammen und getrennt ausgeführt werden, dann erstellen Sie eine Shell-Skriptdatei und fügen Sie diese beiden Befehle dem Skript hinzu und fügen Sie dieses Skript der Docker-Datei hinzu. Geben Sie den Skriptpfad in der Einstiegspunktdatei an. –
Danke, ich werde es versuchen. –