Выставить локальный сайт Docker WP для сети и интернета
У меня проблема, которую я не могу сформулировать достаточно, чтобы найти ответ.
Эта проблема:
Я хочу открыть свой локальный 10-местный сайт докера WP в моей сети (чтобы люди могли помочь мне войти в систему и написать для него, когда они находятся в моей локальной сети), а также иметь туннель, чтобы я мог отправить ссылку на кто-то через Интернет, чтобы они могли просматривать сайт для получения одобрений и т. д. Я бы предпочел не проходить через промежуточную среду, если мне не нужно.
Мои мысли
Когда я впервые попал в Docker, я не могу вспомнить, какое видео я смотрел, но я запустил определенную команду (что-то вроде docker -p 80:8080), которая выставляла порты так, чтобы все компьютеры в моей сети могли для просмотра сайта. Теперь, когда я использую образ Docker (10-up WP-Local Docker image https://github.com/10up/wp-local-docker), он использует файл docker-compose.yml, поэтому он обрабатывает раскрутку различные необходимые контейнеры.
Я не могу понять, как вернуть его к тому, что у меня было раньше. Я уверен, что есть кое-что, что я могу вставить в файл docker-compose, который автоматически сделает это, и я уверен, что есть какая-то программа или пакет, который я могу установить, который создаст туннель, который я могу использовать, чтобы показать мой сайт поверх интернет. Мне просто нужен толчок в правильном направлении. Заранее спасибо!
2 ответа
Как и предыдущий оратор уже объяснил -p
эквивалентно:
ports:
- "8183:80"
Где ваш локальный список является первым значением 8183
и значение внутреннего докера 80
как вы уже знаете из -p
php:
build: php7-fpm
ports:
- 9000
volumes:
- ../src:/var/www/
nginx:
build: nginx
ports:
- 8183:80
links:
- php
volumes_from:
- php
volumes:
- ./logs/nginx/:/var/log/nginx
tty: true
В этой конфигурации докер контейнер nginx
будет отображаться на хост-машине 0.0.0.0:8183
или же 127.0.0.0:8183
или же your_external_ip:8183
если брандмауэр на вашем компьютере выставляет порт для внешней сети.
Я надеюсь, что это немного помогает.
С уважением
Редактировать:
Недвижимость extra_host
это то же самое, что вы будете использовать в контексте Cli --add-host
, Может быть, заглянуть в extra_host
Эквивалентом -p внутри файла составления docker является раздел портов, который должен предоставить указанный порт для контейнера для получения трафика на этот порт. Таким образом, если ваша машина работает через сеть или общедоступный Интернет, предоставление порта с помощью Docker должно позволить вашему приложению получать трафик на указанный порт. Для службы phpfm вы должны предоставить порт 9000, чтобы сделать службу доступной
phpfpm:
image: 10up/phpfpm
depends_on:
- mysql
- memcached
- elasticsearch
ports:
- "9000:9000"
volumes:
- "./wordpress:/var/www/html"
- "./config/php-fpm/php.ini:/usr/local/etc/php/php.ini"
- "./config/php-fpm/docker-php-ext-xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
restart: always
extra_hosts:
- "docker-local.dev:172.18.0.1"