我正在尝试使用docker设置我的Plex服务器。我已经按照LinuxServer.io泊坞页面上的步骤进行操作。当我运行docker命令时,它说它正在运行find并且我没有收到任何错误。但是,当我尝试通过localhost:32400/web
访问Web UI时,得到的只是“问题加载页面”
我正在将docker用于带有Linux容器的Windows。
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容器看起来好像正在运行。
我是Docker的新手。我环顾四周,找不到为什么无法访问UI。
请告知我是否需要其他信息。
泊坞窗检查:
"NetworkMode": "host",
"PortBindings": {
"32400/tcp": [
{
"HostIp": "",
"HostPort": "32400"
}
]
},
如果您需要更多信息,请告诉我
答案 0 :(得分:3)
--net=host
不适用于docker-for-windows
。
原因:
Linux容器需要共享一个Linux主机的内核。
为了实现这一点,当用于Windows的docker运行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
然后,魔术将在这里发生,Windows的docker将使用Windows路由机制将Windows的32400端口映射到您的容器。您可以从Windows访问容器的服务。