gpt4 book ai didi

go - 库网络 : Error: unknown command "/var/run/docker/netns/582bd184e561" for "some_app"

转载 作者:数据小太阳 更新时间:2023-10-29 03:27:42 25 4
gpt4 key购买 nike

我正在尝试在容器中设置网络(使用 Docker 的 libnetworklibcontainer),但我一直遇到这个问题。据我所知,它正在调查 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

我想知道是否有人可以帮助我理解这一点并可能阻止它。这是两个不同的错误吗?

谢谢

Here is the library I am trying to use

最佳答案

我花了一段时间才弄明白,但是这里是:

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

但是,some_app 的外部接口(interface)上不存在这些命令。稍后使用名为 reexec 的库注入(inject)它们.为此,reexec 需要像这样初始化:

if reexec.Init() {
return
}

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

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

关于go - 库网络 : Error: unknown command "/var/run/docker/netns/582bd184e561" for "some_app",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com