我对 LXC 容器有疑问。
我有一些容器,如果我使用 lxc-start 它们,它们会很好地联网,但我希望能够使用 lxc-execute 对它们运行命令,而无需启动整个容器。但是,当我这样做时,没有连接? - 我猜是因为没有运行 init。我该如何解决这个问题?
答案1
你是对的,网络没有设置,因为 lxc-execute 只是创建了容器并运行你的应用程序。lxc-start 运行 /sbin/init,它负责处理细节。
您可以使用一个脚本来设置网络,然后执行您作为第一个参数提供的内容,例如:
ifup -a
if [ -x "$1" ]; then
exec "$1"
fi
echo "Something went wrong."
您还可以在容器配置中配置网络参数。在这种情况下,LXC 将在运行您的应用程序之前设置网络。