为了账号安全,请及时绑定邮箱和手机立即绑定

libnetwork:错误:“some_app”的未知命令

libnetwork:错误:“some_app”的未知命令

Go
喵喔喔 2021-12-20 09:54:43
我正在尝试在容器中设置网络(使用 Dockerlibnetwork和libcontainer),但我一直遇到这个问题。据我所知,它正在调查some_app以获取一些沙箱信息?INFO[3808] No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4] INFO[3808] IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844] Error: unknown command "/var/run/docker/netns/582bd184e561" for "some_app"Run 'some_app --help' for usage.ERRO[3808] Resolver Setup/Start failed for container 6b81802576bd4f16aa117061f81b5c3e, "setup not done yet" ERRO[3808] failed to add interface vethef0a693 to sandbox: failed in prefunc: failed to set namespace on link "vethef0a693": invalid argument ERRO[3808] failed to add interface vethef0a693 to sandbox: failed in prefunc: failed to set namespace on link "vethef0a693": invalid argument 我想知道是否有人可以帮助我理解这一点并可能阻止它。这是两个不同的错误吗?
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

我花了一段时间才弄清楚这一点,但这里是:


就像在 Docker 中一样,libnetwork创建一个 veth 接口对。然后它将 veth 对的一端移动到容器命名空间中。在此过程中,libnetwork尝试执行在运行时在当前二进制实例上注册的命令(some_app在本例中)。


some_app然而,这些命令在外部接口上不存在。稍后使用名为reexec. 为此,reexec需要像这样初始化:


if reexec.Init() {

    return

}

另请注意,根据此线程 libnetwork,当前不支持 Docker 之外的应用程序。


注意:我通过阅读源代码发现了这一点,所以我可能是错的,但我的问题在此之后就消失了。


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号