Wenn ich echo $DOCKER_HOST
mache, bekomme ich leere Daten.Wie IP für Container in Host Ubuntu Machine Docker zu bestimmen?
Ich habe 3 Container fing an zu laufen, mit folgenden Datei zusammensetzen:
db:
image: mongo:latest
volumes:
- air_scout-mongodb:/data/db
app:
build: .
env_file: .env
environment:
RAILS_ENV: $RAILS_ENV
links:
- db
expose:
- "3000"
web:
build: .
dockerfile: config/containers/Dockerfile-nginx
links:
- app
ports:
- "80:80"
Und unten ist der Inhalt der Datei/etc/hosts für alle drei Behälter einschließlich Host-ubuntu-Datei:
host /etc/hosts content
127.0.0.1 localhost
127.0.1.1 bajratech-codemilan-pc
192.168.99.100 air_scout.docker
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
web container nginx /etc/hosts contents. // container id = 04f4b2a137db
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3 airscout_app_1 50a8bbe3d0f9
172.17.0.3 app 50a8bbe3d0f9 airscout_app_1
172.17.0.3 app_1 50a8bbe3d0f9 airscout_app_1
172.17.0.4 04f4b2a137db
app container unicorn /etc/hosts contents. // container id = 50a8bbe3d0f9
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 airscout_db_1 4743428b65c4
172.17.0.2 db 4743428b65c4 airscout_db_1
172.17.0.2 db_1 4743428b65c4 airscout_db_1
172.17.0.3 50a8bbe3d0f9
db container mongodb /etc/hosts contents. // container id = 4743428b65c4
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 4743428b65c4
I Ich kann nicht auf den Web-Container (nginx) in meinem Hostcomputer zugreifen. Wie kann ich ihn finden?
'docker ps'? Es zeigt IP und Port an. Wenn Sie auf Ihrem Host Ihr Container starten, wird die IP die IP Ihres Rechners sein (damit localhost funktioniert). Was Sie stattdessen suchen, ist der Port, der 'docker ps' wird – dwursteisen
Dank für schnelle Antwort @dwursteisen anzeigen, aber ich habe Adresse als" 0.0.0.0:80-> 80/tcp, 443/tcp ", wenn ich docker mache ps. – codemilan
bedeutet dies, dass Ihr Container den Port 80 und den Port 443 freigibt. Und dass der Port 80 Ihres Containers über den Port 80 Ihres lokalen Computers erreichbar ist. So können Sie versuchen, 'telnet localhost 80' zu verbinden mit Ihrem nginx – dwursteisen