Похоже, у вас могут быть проблемы с конфигурацией Nginx или с маршрутизацией между вашими контейнерами. Давайте проверим несколько моментов:
1. **Проверка конфигурации Nginx**: Убедитесь, что ваш файл конфигурации `nginx.conf` правильно настроен. Вот пример, как может выглядеть законченный файл конфигурации для вашего случая:
```nginx
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass wordpress:9000; # Здесь ваш контейнер с Wordpress
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
```
Убедитесь, что имя сервиса `wordpress` правильно указано в `fastcgi_pass` и что `SCRIPT_FILENAME` тоже правильно задан.
2. **Проблема с доступом к WordPress**: Убедитесь, что ваш контейнер с WordPress действительно слушает на порту 9000. Вы можете проверить это, запустив команду `docker logs shop-wordpress` для просмотра логов контейнера.
3. **Пути монтирования и прав доступа**: Убедитесь, что монтируемые директории существуют и имеют правильные права доступа. Docker контейнеры могут не видеть содержимое, если права доступа на хосте неправильно настроены.
4. **Сеть**: Вы задаете внешнюю сеть для вашего приложения. Проверьте, что сеть `shop` существует и правильно настроена. Если у вас нет необходимости использовать внешнюю сеть, вы можете удалить раздел с сетями и позволить Docker создать сеть по умолчанию.
5. **Логи Nginx**: Проверьте логи контейнера Nginx для получения подробной информации об ошибках. Команда `docker logs shop-nginx` может предоставить полезную информацию о том, почему Nginx не запускается.
6. **Дополнительные зависимости**: Возможно, вам стоит добавить зависимости в `depends_on`, если другие контейнеры не успевают запуститься вовремя.
Попробуйте внести эти изменения и проверки. Если проблема останется, дайте знать, укажите логи контейнеров, чтобы можно было более точно выявить причины неисправностей.