Я в основном с помощью установки из: https://github.com/wouterds/docker (но не с помощью MySQL)Есть ли способ получить доступ к контейнеру докеров (nginx) через локальный URL-адрес, например http://mydomain.dev?
Следующая моя докер-compose.yml файл:
nginx:
image: nginx:1.10.2
ports:
- 80:80
restart: always
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ~/server/firebase-test/code:/code
links:
- php
depends_on:
- php
php:
build: php
expose:
- 9000
restart: always
volumes:
- ./php/conf/php.ini:/usr/local/etc/php/conf.d/custom.ini
- ~/server/firebase-test/code:/code
Это работает правильно, если я иду в http://localhost
Но я использую эту настройку контейнера, чтобы создать кучу разных сайтов. Иногда мне нужно, чтобы они работали одновременно, поэтому они оба пытаются использовать URL-адрес localhost, что невозможно. Есть ли способ для меня, чтобы вручную их ссылалось на что-то вроде http://websitename.dev или http://[container-name].dev локально? Является ли docker-compose автоматически генерирует какое-то сетевое сопоставление, которое я могу использовать для доступа к контейнеру вместо http://localhost?
Довольно новый для Docker, поэтому я немного потерял и искал в течение последнего часа, но не вызвал многого другого, кроме инструмента под названием «docker-hostmanager», но он не работает с синтаксисом v2.
Но что бы отобразить домен * внутри * Докер. Мне нужно, чтобы он был доступен * снаружи * докеров. Как и в, контейнер докеров выступает в качестве сервера, и моя хост-система имеет доступ к нему через браузер, как и любой другой сайт в мире. –
Я считаю, что контейнер по-прежнему будет доступен из хоста, потому что порт nginx (80) отображается из контейнера в хост в файле docker-compose.yml. –
Возможно, вам также потребуется добавить запись в файл hosts на вашей ОС хоста, которая отображает имя nginx server_name на localhost IP, например. '' '127.0.0.1 example.org''' –