1

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

我正在将 docker 用于带有 Linux 容器的 Windows。

码头工人命令:

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 psplex 容器时,它看起来正在运行。

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

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

码头工人检查:

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

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

4

1 回答 1

6

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

原因:

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

为了实现这一点,当 docker for windows 运行一个 linux 容器时,它必须设置一个 hyper-v 机器。如果您打开 Hyper-V 管理器,您将看到MobyLinuxVM正在运行。

因此,当您使用 时--net=host,容器将只使用 的网络MobyLinuxVM,而不是 windows。所以,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 for windows 会使用 windows 路由机制将 windows 的 32400 端口映射到你的容器。你可以从windows访问容器的服务。

于 2019-05-30T09:11:27.050 回答