将 plex 作为 docker 容器运行,无法访问 Web UI

Ros*_*oss 1 docker plex docker-for-windows

我正在尝试使用 docker 设置我的 Plex 服务器。我已按照LinuxServer.io docker页面上的步骤操作。当我运行 docker 命令时,它说它正在运行 find 并且我没有收到任何错误。但是,当我尝试通过 访问 Web UI 时localhost:32400/web,我得到的只是“问题加载页面”

我正在使用 docker for windows 和 Linux 容器。

码头工人命令:

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
Run Code Online (Sandbox Code Playgroud)

当我使用docker psplex 容器时,它看起来正在运行。

我是码头工人的新手。我环顾四周,找不到为什么我无法访问 UI。

如果您需要其他信息,请告诉我。

码头工人检查:

"NetworkMode": "host",
"PortBindings": {
    "32400/tcp": [
        {
            "HostIp": "",
            "HostPort": "32400"
        }
    ]
},
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息,请告诉我

atl*_*ine 6

--net=host不工作docker-for-windows

原因:

Linux 容器需要共享一个 linux 主机的内核。

为了实现这一点,当 docker for 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
Run Code Online (Sandbox Code Playgroud)

然后,奇迹会在这里发生,docker for windows 将使用 windows 路由机制将 windows 的 32400 端口映射到您的容器。您可以从 Windows 访问容器的服务。