我知道关于在windows上运行Docker有很多问题,但是这个问题是关于在Windows上运行全新的Docker for Windows。
在我的例子中,我使用的是Windows 10 Pro 64位。根据该网站,应支持此版本。
我一直在遵循我在这里发现的一个教程:https://prakhar.me/docker-curriculum/
当然,我还试着遵循官方指南:https://docs.docker.com/docker-for-windows/
在这两个教程中,当试图使用-P参数或试图指定端口-p 8080:5000时,我都会得到相同的错误消息。
在官方指南中,我运行docker run -d -p 80:80 --name webserver nginx并获得:
C:\Program :来自守护进程的错误响应:驱动程序在端点webserver上的外部连接失败,(f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a):启动用户代理时出错: mkdir /port/tcp:0.0.0.0:80:tcp:172.17.0.2:80:输入/输出错误。
按照非官方指南,我运行docker run -p 8888:5000 prakhar1989/catnip并获得基本相同的错误:
C:\Program :来自守护进程的错误响应:驱动程序在端点(48a0c005779c6e89bf525ead2ecff44a7f092495cd22ef7d19973002963cb232):上的外部连接失败,启动用户代理: mkdir /port/tcp:0.0.0.0:8888:tcp:172.17.0.2:5000:输入/输出错误。
如果我不试图指定一个港口,容器将运行,但我不知道如何访问它。
我正在运行的码头版本:
任何帮助都将不胜感激。谢谢。
发布于 2016-11-21 19:10:39
这是由端口编号冲突引起的: github问题在这里是https://github.com/docker/compose/issues/3277
从本质上说,港口在使用中!重置工作的原因是因为它删除了其他映射。
发布于 2017-12-14 17:02:20
这是一个新的转折。
最新的Windows 10更新(秋季创建者更新,2017年)有一个新的“功能”。它会自动启动上次关闭时正在运行的任何应用程序。
这将在糟糕的状态下为Windows重新设置Docker。这使得那些港口似乎被其他东西所使用--它本身就是幽灵。这解释了为什么这些端口仍然在使用,即使我停止/启动了容器,甚至重新启动了!
本例中的解决方案是简单地重新启动Docker守护进程。
若要防止下次关机后出现这种情况,请不要使用“关机”按钮。请键入以下内容:
shutdown /s /t 0这绕过了新特性。
在这个线程中,请参见来自JasonMS的答案:
pc/programs-autostart-after-boot-in-windows-10-fall/09dd8d3e-7b36-45d1-9181-6587dd5d53ab
这里有一个人的解决办法(从这条线的末尾开始--我自己还没试过):
http://www.icttoolbox.nl/info/stop-windows-10-creator-fall-reopening-programs-reboot/
发布于 2018-03-29 20:25:08
重启Docker守护进程暂时修复了这个问题,但是为了解决这个问题,我最终不得不禁用 10快速启动,这是@Docker 314描述的功能。
若要禁用Windows 10快速启动,请进入“控制面板”>“电源选项”>选择电源按钮所做的操作>更改当前不可用的设置>取消选中“快速启动”(建议)并单击“保存更改”

https://stackoverflow.com/questions/40668908
复制相似问题