我是Docker的新手,所以请善待,但我在Azure上的Windows 10映像上测试它(我知道我可以直接运行它,但我想先在VM中尝试它)。
我有一个全新的Windows 10映像,我已经安装了Docker for Windows 2.0.0。注意:我没有勾选使用Windows容器而不是linux容器的选项。
安装(并重新启动)后,系统会提示我安装Hyper-V和容器功能(导致重新启动)。
一旦安装完毕,我打开一个管理PowerShell窗口下载Jenkins:
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
这给了我错误:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint goofy_lederberg (deaba2deeea0486c92ba8a1a32740295f03859b1b5829d39e39eff0b24613ebf): Error starting userland proxy: Bind for 0.0.0.0:50000: unexpected error Permission denied.
我认为这很奇怪,因为50000不是我期望使用的端口,将其更改为不同的端口(50001)产生了相同的错误。
运行:
netstat -a -n -o
表明该端口未被使用。
如果我从命令中删除-p 50000:50000它可以绑定并启动Jenkins,但我认为它需要此端口映射才能正常工作。
以前的帖子建议停止World Wide Web Publishing服务,但是没有安装。
没有其他正在运行的Docker容器。
我假设端口正在使用或某些东西正在停止端口映射。
假设用户有权从终端创建端口绑定,netstat旁边是否还有其他技术可以确定某些东西是否绑定到某个端口 - 这是Docker自己的检查过程内部还是主机操作系统级别的东西?
相当令人尴尬的是,今天上午工作没有任何变化,除了VM在周末关闭。也许所需要的只是重启?