Docker镜像无法创建netlink句柄

时间:2017-05-11 21:05:44

标签: docker netlink

任何人都可以帮助我理解下面的错误和其他喜欢它吗?我已经用Google搜索了,但对我的背景没有任何意义。我下载了我的Docker Image,但是容器拒绝启动。引用的名称空间并不总是26,但可以是20-29之间的任何名称。我将我的Docker容器启动到EC2实例并从AWS ECR中提取图像。无论我是重新启动实例还是重新启动docker,错误都是持久的。

docker: Error response from daemon: oci runtime error: 
container_linux.go:247: starting container process caused 
"process_linux.go:334: running prestart hook 0 caused \"error running 
hook: exit status 1, stdout: , stderr: time=\\\"2017-05-
11T21:00:18Z\\\" level=fatal msg=\\\"failed to create a netlink handle: 
failed to set into network namespace 26 while creating netlink socket: 
invalid argument\\\" \\n\"".

2 个答案:

答案 0 :(得分:2)

从我的Github问题更新:https://github.com/moby/moby/issues/33656

似乎在使用Docker的容器上运行的DeepSecurity代理(ds_agent)可能会导致此问题。许多其他用户报告了此问题,导致我进行调查。之前我在这些盒子上安装了ds_agent,然后将其替换为其他软件作为业务决策,这就是问题消失的时候。如果您遇到此问题,可能值得检查您是否正在运行ds_agent进程,或使用' htop'运行可能导致冲突的其他类似服务。正如上面问题中的用户所做的那样。

答案 1 :(得分:1)

您是否尝试使用--privileged选项运行它?

如果仍然无法运行,请尝试添加--security-opts seccomp=unconfined以及--security-opts apparmor=unconfined--security-opts selinux=unconfined,具体取决于您是否正在运行Ubuntu或启用了SELinux的分发

如果有效,请尝试使用--cap-add = NET_ADMIN替换--privileged option,因为出于安全原因,不鼓励以特权模式运行容器。