Не удается связаться с веб-сайтом docker на хосте debian

#docker #nginx #docker-compose #debian

Вопрос:

Я пытаюсь обслуживать приложение с помощью этого файла docker-compose, взятого из https://github.com/solidnerd/docker-bookstack/blob/master/docker-compose.yml

 version: '2'
services:
  mysql:
    image: mysql:5.7.33
    environment:
    - MYSQL_ROOT_PASSWORD=secret
    - MYSQL_DATABASE=bookstack
    - MYSQL_USER=bookstack
    - MYSQL_PASSWORD=secret
    volumes:
    - mysql-data:/var/lib/mysql

  bookstack:
    image: solidnerd/bookstack
    depends_on:
    - mysql
    environment:
    - DB_HOST=mysql:3306
    - DB_DATABASE=bookstack
    - DB_USERNAME=bookstack
    - DB_PASSWORD=secret
    volumes:
    - uploads:/var/www/bookstack/public/uploads
    - storage-uploads:/var/www/bookstack/storage/uploads
    ports:
    - "8080:8080"

    # nginx:
        # build: ./nginx
        # depends_on:
          # - bookstack
        # ports:
            # - "80:80"
volumes:
 mysql-data:
 uploads:
 storage-uploads:
 

В Windows, если я перейду на локальный хост:8080, это сработает.
В Debian 10, если я попробую одну из этих команд :

 curl "localhost:8080"
curl "172.17.0.1:8080"
 

Он останавливается и через некоторое время возвращает ошибку прокси-сервера 502.

Вот результат работы docker ps-a

 45afeda13eab   solidnerd/bookstack   "/bin/docker-entrypo…"   27 seconds ago   Up 12 seconds   80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   app_bookstack_1
953a91c86e7d   mysql               "docker-entrypoint.s…"   31 seconds ago   Up 9 seconds    3306/tcp                                            app_db_1
 

Если я раскомментирую свою конфигурацию nginx и использую эти 2 файла :

 events {
}

http {
    server {
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://bookstack:8080;
        }
    }
}
 
 FROM nginx:1.20.1
COPY nginx.conf /etc/nginx/nginx.conf
 

Тогда это сработает. Почему?
Я хотел бы использовать это без nginx. Я думал, что это проблема с этим приложением, но у меня была та же проблема с другим приложением. Тогда я предполагаю, что проблема связана с моим Debian.
Не могли бы вы посоветовать мне что-нибудь, чтобы добраться до localhost:8080 без nginx ?

Комментарии:

1. когда вы устанавливали docker в свою ОС, вы устанавливали docker-desktop или демон Docker? Кроме того, пожалуйста, добавьте docker ps вывод, пока служба Nginx не используется (первая конфигурация)

2. Я обновил свой вопрос, чтобы показать вам докер ps. В Windows у меня есть рабочий стол docker. На демоне docker debian

3. Вы уверены, что версия изображения/тег верны? Когда я искал dockerhub, управление версиями изображений больше похоже на 0.21 , чем на 21.05.2

4. Ну, в моем использовании я удалил «:21.05.2» после «солиднерд/книжный стеллаж». Так что мой образ-это только солидный/книжный стеллаж. Я изменю это в вопросе

5. Невозможно заставить его работать с этим изображением книжной полки, но изображение mediawiki docker отлично работает. Так что, я думаю, у изображения книжного магазина есть проблема