ich einen einfachen Docker Container zu machen versuche, die die Rails-Anwendung aus dem Verzeichnis ausgeführt wird, dass ich es starten in.Rails-Anwendung Docker Behälter nicht zugänglich von Windows-Host
Alles scheint außer in Ordnung zu sein, wenn ich den Behälter laufen und versuche, von meinem Windows-Host aus auf die IP-Adresse zuzugreifen, die der Docker-Computer mir gibt, antwortet er mit einer Verbindung abgewiesener Fehlermeldung.
Ich habe sogar die Nginx Dockerfile als Referenz verwendet, weil die Nginx Dockerfile tatsächlich einen Container erstellt, der für mich zugänglich ist.
Hier ist meine Dockerfile so weit:
FROM ruby:2.3.1
RUN gem install rails && \
apt-get update -y && \
apt-get install -y nodejs
VOLUME ["/web_app"]
ADD . /web_app
WORKDIR /web_app
RUN bundle install
CMD rails s -p 80
EXPOSE 80
Ich baue das Bild mit diesem Befehl
docker build -t rails_server .
ich es dann diesen Befehl
docker run -d -p 80:80 rails_server
Und hier, was mit laufen ist Ich versuche, auf die Webseite zuzugreifen:
curl $(docker-machine ip)
Und das ist, was ich zurück:
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
Und so macht es mir das Gefühl:
Ehrfürchtig, das funktioniert. Aber ich verstehe nicht ganz warum. Zum Beispiel, wenn ich mehr Rails-Entwicklung gemacht habe, konnte ich eine App wie gewohnt starten und meine Mitarbeiter konnten sie von ihren Maschinen aus über meine LAN-IP (192.168.xxx.xxx) erreichen. Ich habe das Gefühl, dass ich von meinem Host eine Verbindung mit meiner Docker-VM herstellen kann, genauso wie ein anderer Computer sich mit mir im LAN verbinden kann. – arjabbar