Bash

lxc 發送文件或副本

  • July 23, 2021

我正在嘗試用 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列表中。

歡迎任何幫助

此解決方案僅適用於 LXC 位於可以通過 SSH 連接的機器中,不適用於虛擬化 LXC的情況。您需要訪問 lxc 文件夾!

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

事實是,我對 LXC/LXD 的理解是一團糟。現在我明白了很多事情,我更清楚它是如何從背後運作的

訣竅是一切都基於此路徑中的物理文件/var/lib/lxc/

試試這個:

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

筆記:

我用 docker 容器對此進行了測試,因為我目前沒有可用的 lxc。-i當指定了互動式會話的參數時,使用 docker 即可。我沒有看到對應的參數lxc-attach,我不知道這是必要的還是可能的。

引用自:https://serverfault.com/questions/1070410