我注意到我的本地电脑上的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
错误有关。
这个问题似乎已经发生在许多人身上(通常是在Windows
上)并没有得到明确的解决。请参阅此issue。
然而,有一个临时的方法来解决它,这是禁用experimental features
(在上面的问题,许多人说它在禁用experimental features
后解决)。
我不知道如何禁用它以及你正在使用哪个OS
但你可以轻松谷歌找到如何为OS
禁用它。
Um也一直在为我发生 - 即将写一篇文章。我昨天创建了一个weblogic容器,并在白天停止了几次ok(没有重启)
凸轮尝试启动今天,并在我的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 ports显示tcp:172.17.0.2的位置
这已经发生在我的Windows桌面上过夜关闭并重新开始新的一天,即使docker说它运行正常
我忽略了它,只是告诉它重新启动,并尝试再次启动docker并且它有效
当你做一个docker ps -all现在它显示
ports: 0.0.0.0:7001->7001/tcp, 0.0.0.0:9002->9002/tcp
表明它再次工作
所以在网络映射的封面下发生了一些令人毛骨悚然的事 - 很奇怪
13/03/2019
在我的情况下,问题是当redis处于进行磁盘转储的过程中Docker被杀死了。
我通过删除temp-1.rdb temp-2.rdb文件解决了这个问题。
dump.rdb文件是您最新的稳定备份,请勿删除该文件。