Запуск плекса в качестве док-контейнера, не может получить доступ к веб-интерфейсу - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь настроить свой сервер Plex с помощью докера. Я следовал инструкциям на странице докера LinuxServer.io . Когда я запускаю команду docker, она говорит, что она выполняет поиск, и я не получаю ошибок. Однако, когда я пытаюсь получить доступ к веб-интерфейсу через localhost:32400/web, все, что я получаю, это «Проблема загрузки страницы»

Я использую Docker для Windows с контейнерами Linux.

команда docker:

docker run -d --name=plex --net=host -e PUID=1000 -e PGID=1000 -e TZ=Europe/London -e VERSION=docker -v D:\plex\config:/config -v D:\media\tvseries:/data/tvshows -v D:\media\movies:/data/movies -v D:\media\transcode:/transcode --restart unless-stopped linuxserver/plex

когда я использую docker ps контейнер plex выглядит так, как будто он работает.

Я новичок в докере. Я оглянулся и не могу найти, почему я не могу получить доступ к пользовательскому интерфейсу.

Пожалуйста, сообщите мне, если вам требуется дополнительная информация.

Докер проверяет:

"NetworkMode": "host",
"PortBindings": {
    "32400/tcp": [
        {
            "HostIp": "",
            "HostPort": "32400"
        }
    ]
},

пожалуйста, дайте мне знать, если вам нужна дополнительная информация

1 Ответ

3 голосов
/ 30 мая 2019

--net=host не работает для docker-for-windows.

Причины:

Контейнеру Linux необходимо совместно использовать ядро ​​Linux-хоста.

Чтобы добиться этого, когда Docker для Windows запускает контейнер Linux, он должен был настроить машину hyper-v. Если вы откроете диспетчер Hyper-V, вы увидите, что MobyLinuxVM работает.

Итак, когда вы используете --net=host, контейнер будет использовать только сеть MobyLinuxVM, а не окна. Итак, localhost не будет работать.

Предложение:

Для вашего сценария я предлагаю вам удалить --net=host, добавить сопоставление портов в командной строке:

docker run -d --name=plex -p 32400:32400 -e PUID=1000 -e PGID=1000 -e TZ=Europe/London -e VERSION=docker -v D:\plex\config:/config -v D:\media\tvseries:/data/tvshows -v D:\media\movies:/data/movies -v D:\media\transcode:/transcode --restart unless-stopped linuxserver/plex

Тогда волшебство произойдет здесь, Docker для Windows отобразит порт Windows 32400 на ваш контейнер, используя механизм маршрутизации Windows. А вы можете зайти в сервис контейнера из окон.

...