Docker启动失败:Iptables not found(daemon不能启动)和nvidia-docker运行问题

系统环境:ubuntu 22.04 使用Portainer可视化管理docker容器

1.Portainer启动容器失败,报500错误。

并且Docker容器也突然抽风启动和重启失败,说daemon没有在运行

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

查看日志发现报错原因是找不到iptables

failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: Iptables not found

但是系统已经安装了 iptables,反复重装docker但仍然报同样的错误

ps@ps:~$ iptables -V
iptables v1.8.7 (legacy)

issue 里有同样因为iptables问题不能启动daemon,提出的解决方案

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

sudo dockerd

使用这种方式启动dockerd就可以正常启动daemon,并且iptables问题也可以解决

无论是使用systemctl还是service重启和启动都仍会出现之前的问题

sudo systemctl restart docker

2.在解决前面的问题后,docker可以正常启动,但对于部分容器仍然启动不了

Handler for GET /v1.37/containers/9313a0eda5fc7be85fdc2b1c5a9ff7f137bb4d6befa03f9ed06c837ac0f467d4/json returned error: write unix /var/run/docker.sock->@: write: broken pipe

在查看日志文件和分析后,发现可能是nvidia-docker的问题

Error response from daemon: unknown or invalid runtime name: nvidia Error: failed to start containers: 26224401c2e2

但是nvidia-smi正常,并且重装多次nvidia-docker后仍然有问题

这两个链接提出了解决方案:链接1   链接2

问题并不是出在nvidia-docker安装上,而是没有使用nvidia-docker去监控docker容器

sudo apt-get install -y nvidia-container-toolkit

##安装完要启动去监控docker容器
sudo nvidia-ctk runtime configure --runtime=docker

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值