Wordpress docker compose (56) Ошибка получения: сброс соединения одноранговым узлом

У меня есть этот файл docker-compose для настройки среды разработки WordPress. Проблема в том, что согласно логам все работает правильно, но WordPress не загружается по URL: localhost:9000, как указано.

version: '3.9'
services:
  db:
    container_name: 'mysql8.0'
    image: 'mysql:8.0.32'
    volumes:
      - ./data/mysql:/var/lib/mysql
    command: mysqld --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    restart: always
    tty: true
    ports:
      - 18766:3306
    expose:
      - '18766'
    environment:
      - MYSQL_ROOT_PASSWORD
      - MYSQL_DATABASE
      - MYSQL_USER
      - MYSQL_PASSWORD
    networks:
      - wp
  wordpress:
    container_name: 'wordpress-app'
    depends_on:
      - db
    image: 'wordpress:6.2.0-php8.2-fpm'
    ports:
      - 9000:80
      - 443:443
    environment:
      - WORDPRESS_DB_HOST
      - WORDPRESS_DB_USER
      - WORDPRESS_DB_PASSWORD
      - WORDPRESS_DB_NAME
      - WORDPRESS_CONFIG_EXTRA
    volumes:
      - "./wordpress:/var/www/html"
      - "./wp-content:/var/www/html/wp-content"
    networks:
      - wp
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin:5.2.1-fpm
    restart: always
    ports:
      - 8080:80
    environment:
      - PMA_HOST
      - MYSQL_ROOT_PASSWORD
    networks:
      - wp
networks:
  wp:
    driver: bridge

Результат docker ps

CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS         PORTS                                                                                    NAMES
4f9b98c82125   wordpress:6.2.0-php8.2-fpm   "docker-entrypoint.s…"   5 minutes ago    Up 5 minutes                                                                                            elastic_rosalind
6e17a7fddc25   phpmyadmin:5.2.1-fpm         "/docker-entrypoint.…"   33 minutes ago   Up 7 minutes   9000/tcp, 0.0.0.0:8888->80/tcp, :::8888->80/tcp                                          first-plugin-phpmyadmin-1
3bc899ca693e   wordpress:6.2.0-php8.2-fpm   "docker-entrypoint.s…"   33 minutes ago   Up 7 minutes   0.0.0.0:443->443/tcp, :::443->443/tcp, 9000/tcp, 0.0.0.0:9500->80/tcp, :::9500->80/tcp   wordpress-app
2fb6f5614931   mysql:8.0.32                 "docker-entrypoint.s…"   33 minutes ago   Up 7 minutes   18766/tcp, 33060/tcp, 0.0.0.0:18766->3306/tcp, :::18766->3306/tcp                        mysql8.0

беговой завиток:

curl -v localhost:9500                                                                                                                                                             

*   Trying 127.0.0.1:9500...
* Connected to localhost (127.0.0.1) port 9500 (#0)
> GET / HTTP/1.1
> Host: localhost:9500
> User-Agent: curl/7.81.0
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by pee

Проверка с помощью netstat

sudo netstat -tulpn | grep LISTEN                                                                                                                                                  17:46:48
[sudo] password for davidshare: 
tcp        0      0 0.0.0.0:18766           0.0.0.0:*               LISTEN      19727/docker-proxy  
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      19901/docker-proxy  
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      19849/docker-proxy  
tcp        0      0 0.0.0.0:9500            0.0.0.0:*               LISTEN      19868/docker-proxy  
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1461/cupsd          
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      1233/systemd-resolv 
tcp6       0      0 :::18766                :::*                    LISTEN      19733/docker-proxy  
tcp6       0      0 :::443                  :::*                    LISTEN      19912/docker-proxy  
tcp6       0      0 :::80                   :::*                    LISTEN      1628/apache2        
tcp6       0      0 :::1716                 :::*                    LISTEN      10204/kdeconnectd   
tcp6       0      0 127.0.0.1:9614          :::*                    LISTEN      10216/java          
tcp6       0      0 ::1:631                 :::*                    LISTEN      1461/cupsd          
tcp6       0      0 :::9000                 :::*                    LISTEN      20905/php-fpm: mast 
tcp6       0      0 :::8888                 :::*                    LISTEN      19856/docker-proxy  
tcp6       0      0 :::9500                 :::*                    LISTEN      19876/docker-proxy

Пробовал менять порты.

Я не уверен, в чем может быть проблема. Мне нужна помощь.

лог докера:

docker logs wordpress-app                                                                                                                                                    

[02-Apr-2023 16:19:05] NOTICE: fpm is running, pid 1
[02-Apr-2023 16:19:05] NOTICE: ready to handle connections
[02-Apr-2023 16:35:35] NOTICE: Finishing ...
[02-Apr-2023 16:35:35] NOTICE: exiting, bye-bye!
[02-Apr-2023 16:44:32] NOTICE: fpm is running, pid 1
[02-Apr-2023 16:44:32] NOTICE: ready to handle connections

Вы проверили wp журнал?

Andromeda 02.04.2023 19:02

То же самое для всех контейнеров. Они недоступны

David Essien 02.04.2023 19:38
Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
0
2
142
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Похоже, это может быть изображение, которое вы используете для Wordpress.

Например, я попробовал ваш файл docker-compose, переключился на самые последние образы Wordpress, MySQL и phpmyadmin, и у меня не было проблем с подключением к ним.

Также обязательно удалите каталоги data, Wordpress, wp-content, которые размещены в вашем каталоге как тома.

Ответ принят как подходящий

Проблема, с которой вы столкнулись в своей конфигурации, заключается в том, что используемое вами изображение (wordpress: 6.2.0-php8.2-fpm) выставляет порт 9000 только как службу FastCGI, а не как службу HTTP. Вы не можете делать HTTP-запросы к нему. Это обычное поведение изображений PHP FPM.

Вам нужно добавить контейнер веб-сервера (apache или nginx), подключенный к службе FPM, чтобы получать ответы HTTP.

Попробуйте добавить это в свою конфигурацию:

nginx:
  image: 'nginx'
  restart: unless-stopped
  container_name: 'nginx'
  ports:
    - 80:80
    - 443:443
  volumes:
    - "./wordpress:/var/www/html"
  networks:
    - wp

Другие вопросы по теме