Bash
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
列表中。歡迎任何幫助
此解決方案僅適用於 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
,我不知道這是必要的還是可能的。