Когда я делаю echo $DOCKER_HOST
, я получаю пустые данные.Как определить IP для контейнеров в хост-машине ubuntu?
У меня есть 3 контейнера работает начали с ниже сочинить файла:
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"
И ниже содержимое/и т.д./хост файл для всех 3-х контейнеров, включая хозяина убунту:
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 'm Не удается получить доступ к контейнеру web (nginx) на моей главной машине, как его найти?
'docker ps'? он отобразит IP и порт. На вашем хосте, если ваш запуск вашего сдерживающего устройства, ip будет ip вашего устройства (так что localhost будет работать). Вместо этого вы можете найти порт, который 'docker ps' отобразит – dwursteisen
спасибо за быстрый ответ @dwursteisen, но у меня есть адрес« 0.0.0.0:80->80/tcp, 443/tcp », когда я делаю докер пс. – codemilan
это означает, что ваш контейнер выставляет порт 80 и порт 443. И что к порту 80 вашего контейнера можно получить доступ к порту 80 вашего локального компьютера. Таким образом, вы можете попробовать «telnet localhost 80» для подключения к вашему nginx – dwursteisen