lxc 发送文件或者复制

lxc 发送文件或者复制

我正在尝试使用 lxc 复制文件,现在我已经绝望了。以下是我尝试过的一些命令:

#temp=$(cat 2.sh)
#lxc-attach -n containerName echo $temp > /root/2.sh
#lxc-attach -n containerName cat /root/2.sh
->

#temp=$(cat 2.sh)
#lxc-attach -n containerName -- bash -c 'echo $temp > /root/2.sh'
#lxc-attach -n containerName cat /root/2.sh
->

#lxc-attach -n containerName -- bash -c 'echo $(cat 2.sh) > /root/2.sh'
->cat: 2.sh: No such file or directory

#lxc-attach -n containerName -- bash -c 'echo "$(cat 2.sh)" > /root/2.sh'
->cat: 2.sh: No such file or directory


#lxc file push 2.sh containerName/root/
->Error: not found

->是输出

容器内置有lxc-且不会出现在lxc list列表中,但是在lxc-ls列表中。

欢迎任何帮助

答案1

尝试这个:

cat 2.sh | lxc-attach -n containerName tee /root/2.sh

笔记:

我使用 docker 容器对此进行了测试,因为我目前没有可用的 lxc。使用 docker 时,当-i指定交互式会话的参数时,此方法有效。我没有看到相应的参数lxc-attach,我不知道这是否必要或可能。

答案2

此解决方案仅适用于 LXC 位于可以通过 SSH 连接的机器上的情况,不适用于虚拟化 LXC。您需要访问 lxc 文件夹!

cp /root/input/2.sh /var/lib/lxc/NAME_LXC/rootfs/root/2.sh

说实话,我很难理解 LXC/LXD。现在我理解了很多东西,也更清楚了它的工作原理

诀窍在于一切都基于此路径中的物理文件/var/lib/lxc/

相关内容