Я пытаюсь создать сценарий, который копирует файл в докер, и я хотел использовать переменную для команды "docker exec -i [name_docker]" (ну, мой босс хочет, чтобы это понравилось).Проблема возникает, когда переменная не выполняет свою работу.
Она все время говорит, что нет переменной
root@user:/home/user# bash -x test
+ set -e
++ docker exec -i dockerName
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
+ cmd=
+ mkdir -p /home/ubuntu/testie
++ docker exec -i dockerName stat -c %a /home/ubuntu/testie/test
stat: cannot stat '/home/ubuntu/testie/test': No such file or directory
+ filepermissions=
Это ошибка, которую она дает мне
#!/bin/bash
set -e
cmd=$(docker exec -i dockerName) mkdir -p /home/ubuntu/testie
filepermissions=$(docker exec -i dockerName -c '%a' /home/ubuntu/testie/test)
sudo docker cp /home/user/test dockerName:/home/ubuntu/testie
if [ $filepermissions == 777 ]; then
echo "Free"
else
echo "Restrictive. Gonna give it freedom"
$commandDocker chmod 777 /home/ubuntu/testie/test
fi
Я ожидал, что избавлюсь от этого сценария легко, но, похоже, я буду носить его навсегда.