我注意到我本地电脑上的Redis
个实例停止了工作。我使用Docker
来托管它,并尝试在容器上发出restart
命令ps
声明它正在运行*。
docker restart my-redis
然而,这会产生以下错误消息:
来自守护程序的错误响应:无法重启容器my-redis:驱动程序无法在端点上编程外部连接my-redis(...):启动userland代理时出错:mkdir /port/tcp:0.0.0.0:32777:tcp: 172.17.0.2:6379:输入/输出错误
*我一直在运行Docker
的同一台机器上运行DNS服务器。我的PC启动时启动了一个服务,它也在端口53处侦听。我需要关闭此过程才能使我的DNS服务器正常启动。我怀疑这是Docker
使用的过程,因此它最初可能启动容器,但在发出restart
时失败(因为该过程被关闭)。
我已经设置了Docker以使用我的本地DNS服务器(在设置 - > Docker for Windows
中的网络下),但我不确定这是否与input/output
错误完全相关这打破了我的容器。
答案 0 :(得分:4)
这个问题似乎已经发生在许多人身上(通常在Windows
上)而且没有明确解决。请参阅此issue。
但是,有一种临时解决方法,即禁用experimental features
(在上述问题中,许多人说它在禁用experimental features
后得到解决)。
我不确定如何禁用它以及您正在使用哪个OS
但是您可以轻松地谷歌查找如何为OS
禁用它。
答案 1 :(得分:0)
我也正在发生-即将写一篇帖子。我昨天创建了一个weblogic容器,并在一天之内停止了几次启动(没有通宵重启)
今天尝试启动的摄像头,并在Windows 10主机上出现此错误
Error response from daemon: driver failed programming external connectivity on endpoint wls (dd11b7bd7d23df50651a94eec68cdd2ec59e160d9c4ae8caa682f0a037218393): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:9002:tcp:172.17.0.2:9002: input/output error
docker端口显示tcp:172.17.0.2
这是在隔夜关机并在新的一天重新启动Windows桌面之前发生的,即使Docker表示运行正常
我忽略了它,只是告诉它重新启动,然后尝试再次启动docker并成功了
当您执行docker ps时-现在所有显示
ports: 0.0.0.0:7001->7001/tcp, 0.0.0.0:9002->9002/tcp
表示它再次正常工作
所以网络映射的幕后发生了一些怪异的事情-奇怪
13/03/2019
答案 2 :(得分:0)
在我的情况下,问题是Docker在redis进行磁盘转储的过程中被杀死。
我通过删除temp-1.rdb temp-2.rdb文件解决了这个问题。
dump.rdb文件是您的最新稳定备份,请勿删除该文件。