Выставить локальный сайт 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"
Другие вопросы по тегам