Как запустить параметризованные скрипты bash в Docker CLI - PullRequest
0 голосов
/ 04 июля 2019

У меня есть проблема, которую я не могу решить. Я хочу запустить bash-скрипт, который находится внутри моего контейнера Docker CLI, и хочу выполнить его, передав параметры. Обычно я запускаю сценарии, используя такую ​​запись:

docker exec -i $CLI_ID bash "./script.sh"

Но я не знаю, как передать параметры в скрипт. Я пытался выполнить это с:

docker exec -i $CLI_ID bash "./script.sh PARAM" 

Но это не работает. Как я могу это сделать?

Спасибо

Ответы [ 3 ]

2 голосов
/ 04 июля 2019

Попробуй с bash -c option

docker exec -i $CLI_ID bash -c "./script.sh PARAM"

Надеюсь, это поможет.

0 голосов
/ 04 июля 2019

Добавьте ваш параметр как отдельный аргумент, а не как часть имени файла:

docker exec -i "$CLI_ID" bash "./script.sh" PARAM

Таким образом, вам не нужно добавлять другой уровень экранирования к параметру.

0 голосов
/ 04 июля 2019

Убедитесь, что скрипт исполняемый, тогда вам не нужны bash, двойные кавычки и т. Д. Просто запустите его по пути / имени и укажите параметры.

[root@ap-p1m-ff ~]# docker exec -i 0c cat /tmp/test.sh
#!bin/bash

ls $1


[root@ap-p1m-ff ~]# docker exec -i 0c /tmp/test.sh -l
total 4
-rw-r--r--   1 root root 159 Jun  4 18:32 RELEASE
drwxr-xr-x   2 root root 120 Jun  4 18:33 assets
drwxr-xr-x   1 root root  31 Jun  4 18:33 bin
drwxr-xr-x   2 root root   6 Apr 12  2016 boot
drwxr-xr-x   5 root root 340 Jun  7 19:50 dev
drwxr-xr-x   1 root root  22 Jun  7 19:50 etc

, но если скрипт неbash уже работает:

[root@ap-p1m-ff ~]# docker exec -i 0c bash /tmp/test.sh -l
total 4
-rw-r--r--   1 root root 159 Jun  4 18:32 RELEASE
drwxr-xr-x   2 root root 120 Jun  4 18:33 assets
drwxr-xr-x   1 root root  31 Jun  4 18:33 bin
drwxr-xr-x   2 root root   6 Apr 12  2016 boot
drwxr-xr-x   5 root root 340 Jun  7 19:50 dev
drwxr-xr-x   1 root root  22 Jun  7 19:50 etc
drwxr-xr-x   2 root root   6 Apr 12  2016 home
drwxr-xr-x   1 root root  45 Sep 13  2015 lib
drwxr-xr-x   2 root root  34 May 15 14:22 lib64
drwxr-xr-x   2 root root   6 May 15 14:22 media
...