Доступ к wordpress в aws ec2 через порт 80. Не удается подключиться к порту 80 - PullRequest
0 голосов
/ 13 мая 2018

Я размещаю веб-сайт WordPress на aws ec2 (Amazon Linux AMI 2018.03.0).

Я использую docker-compose для раскрутки сайта, базы данных и phpmyadmin.

version: '3.3'

volumes:
  data:
networks:
  back:

services:

  db:
    image: mysql:5.7
    volumes:
      - data:/var/lib/mysql
    environment:
       MYSQL_ROOT_PASSWORD: test
       MYSQL_DATABASE: wordpress
       MYSQL_USER: test
       MYSQL_PASSWORD: test
    networks:
      - back

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - 80:80
      - 443:443
    environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
    volumes:
      - ./html:/var/www/html
    container_name: site
    networks:
      - back

  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 3001:80
    environment:
      PMA_HOST: db
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      MYSQL_ROOT_PASSWORD: test
    networks:
      - back

Как видите, я сопоставляю порт 80 в моем контейнере с портом 80 моего хоста.Это должно сделать сайт доступным на моем публичном IPv4.Я думаю, что мой входящий доступ правильно настроен в моей группе безопасности.

security groups

Я не могу получить доступ к своему веб-сайту через порт 80. Когда я изменяю файл yml насопоставьте порт 80 моего контейнера с 8080 на моем хосте, он работает.Что мне нужно сделать, чтобы сделать веб-сайт доступным через порт 80?

Продолжение: Я запустил docker compose от имени пользователя root с: sudo which docker-compose up -d Сайт все еще недоступен.

Я удалил docker-compose из / usr / local / bin и установил его в / usr / bin.Затем я запустил sudo docker-compose up -d. Сайт все еще был недоступен.

Тем не менее я думаю, что он действительно имеет отношение к запуску его от имени пользователя root.Я могу найти веб-сайт, когда запускаю его на портах с номером 1024. Я не вижу его при запуске на портах с номерами ниже 1024.

В каком каталоге я должен установить docker-compose, чтобы запустить его от имени root?

Я уверен, что докеры подъезжают.Я могу видеть это как вывод из докера PS: enter image description here

1 Ответ

0 голосов
/ 13 мая 2018

Возможно, вы не используете docker compose как root. В основном порты ниже 1024 являются привилегированными портами, и поэтому вам нужно быть пользователем root для запуска процессов, которые прослушивают эти порты. Запустите docker compose, используя sudo, и вы сможете получить доступ к сайту через порт 80 и публичный IPV4-адрес хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...