从远程计算机执行 docker 命令



我有一个要求,我需要从远程机器执行一些docker命令。

我正在使用java ssh库连接到需要执行docker命令的机器,然后尝试执行命令。

实际的 docker 命令是:

docker exec -it idaas_webtier_1 /bin/bash
_tadm1="${OTD_HOME}/bin/tadm"
_tadm2="--user=${OTD_ADMIN_USER} --password-file=${OTD_ADMIN_PWD} --host=${HOSTNAME} --port=${OTD_ADMIN_PORT} --no-prompt --accept-cert"
$_tadm1 pull-config $_tadm2 --config=${OTD_CONFIG_NAME} ${HOSTNAME}
$_tadm1 create-origin-server-pool $_tadm2 --type=http --config=${OTD_CONFIG_NAME} --origin-server=server.us.oracle.com:7001 qaverify-server-pool
$_tadm1 set-health-check-prop $_tadm2 --config=${OTD_CONFIG_NAME} --origin-server-pool=qaverify-server-pool request-method=GET request-uri=/
$_tadm1  create-route $_tadm2 --config=${OTD_CONFIG_NAME} --vs=${OTD_CONFIG_NAME} --origin-server-pool=qaverify-server-pool --condition="$uri=~"/testApp.*"" qaverify-route
$_tadm1 deploy-config $_tadm2 --restart ${OTD_CONFIG_NAME}
exit

远程尝试时,我添加了变量的实际值并将其放入 shell 脚本中并执行 sh 脚本,但它只执行第一行脚本如下

docker exec -it idaas_webtier_1 /bin/bash
_tadm1=/scratch/oracle/otd/bin/tadm
_tadm2="--user=admin --password-file=/scratch/oracle/otd/password-file --host=admin-server.cloudgate.dev.oraclecloud.local --port=8989 --no-prompt --accept-cert"
$_tadm1 pull-config $_tadm2 --config=idcs-config admin-server.cloudgate.dev.oraclecloud.local
$_tadm1 create-origin-server-pool $_tadm2 --type=http --config=idcs-config --origin-server=adc6260266.us.oracle.com:7001 qaverify-server-pool
$_tadm1 set-health-check-prop $_tadm2 --config=idcs-config --origin-server-pool=qaverify-server-pool request-method=GET request-uri=/
$_tadm1  create-route $_tadm2 --config=idcs-config --vs=idcs-config --origin-server-pool=qaverify-server-pool --condition="$uri=~"/testApp.*"" qaverify-route
$_tadm1 deploy-config $_tadm2 --restart idcs-config
exit

它只执行第一行,不执行其余行。

如果我将'|'添加到命令中,则为:

docker exec -it idaas_webtier_1 /bin/bash | _tadm1=/scratch/oracle/otd/bin/tadm

它说:

_tadm1=/scratch/oracle/otd/bin/tadm:找不到命令。

任何关于此的指针都会有所帮助。

U 可以编写一个 shell 脚本并直接运行脚本,而不是访问 bash 终端。例如, docker exec -it idaas_webtier_1 tadm.sh

最新更新