一尘不染

运行Docker for Windows,暴露端口时出错

docker

我知道关于在Windows上运行Docker有很多问题,但是这个问题是关于在Windows上运行全新的Windows Docker。
就我而言,我使用的是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 Files \ Docker \ Docker \ Resources \ bin \
docker.exe:来自守护程序的错误响应:驱动程序无法对端点Web服务器上的外部连接进行编程(f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a):启动用户区代理时出错:mkdir
/0.0/tcp 80:tcp:172.17.0.2:80:输入/输出错误

按照非官方指南,我运行docker run -p 8888:5000 prakhar1989/catnip并得到基本相同的错误:

C:\ Program Files \ Docker \ Docker \ Resources \ bin \
docker.exe:来自守护程序的错误响应:驱动程序无法在端点focused_swartz上编程外部连接编程(48a0c005779c6e89bf525ead2ecff44a7f092495cd22ef7d19973002963cb232):启动用户区代理时出错:mkdir
/port/tcp:0.0.0.0: 8888:tcp:172.17.0.2:5000:输入/输出错误

如果我不尝试分配端口,容器将运行,但是我不知道如何访问它。

我正在运行的docker版本:

  • Docker版本1.12.3,内部版本6b644ec`
  • docker-compose版本1.8.1,内部版本004ddae`
  • docker-machine.exe版本0.8.2,内部版本e18a919`

任何帮助将不胜感激。谢谢。


阅读 608

收藏
2020-06-17

共1个答案

一尘不染

这是由端口编号冲突引起的:github问题在这里https://github.com/docker/compose/issues/3277

本质上,该端口正在使用中!重置起作用的原因是因为它清除了其他映射。

2020-06-17