问题:由于输入/输出错误无法重启Docker容器?

我注意到我本地电脑上的Redis实例停止工作。我使用Docker来托管它并尝试在容器上发出restart命令,因为ps表示它正在运行*。

docker restart my-redis

但是,这产生了以下错误消息:

来自守护进程的错误响应:无法重新启动容器 my-redis:驱动程序在端点 my-redis 上编程外部连接失败(...):启动用户级代理时出错: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中的 Settings -> Network 下),但我不确定这是否与破坏我的容器的input/output错误有关。

解答

这个问题似乎已经发生在很多人身上(通常在Windows上)并且没有得到明确的解决。请参阅此问题。

但是,会有一个临时的方法来解决它,那就是禁用experimental features(在上面的问题中,很多人说禁用experimental features后它就解决了)。

我不确定如何禁用它以及您使用的是哪个OS,但您可以轻松地通过 Google 找到如何为OS禁用它。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐