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/

Связанный контент