将命令发送到正在运行的docker

时间:2015-06-16 15:19:28

标签: oracle bash docker

我正在尝试在正在运行的服务器中启动oracle lsnrctl。

这是我的命令(从主机服务器运行):

until [ ! -z `docker exec -it my_docker bash -c "lsnrctl start" | grep successfully`]; do echo "init_demo: waiting for TNS listener to start";sleep 0.1;done

输出是无限循环:

init_demo: waiting for TNS listener to start

当我尝试运行时(从主机服务器):

docker exec -it tr-db bash -c 'lsnrctl start'

我明白了:

bash: lsnrctl: command not found

但是,登录docker服务器后,我可以运行该命令,并获得预期的结果。

bash命令有什么问题?

稍后添加: 问题是路径问题。但是,我仍然有整个命令的问题。以下命令正在运行:

docker exec -it my_docker bash -c“/u01/app/oracle/product/11.2.0/xe/bin/lsnrctl start”| grep成功

但是,当我运行以下命令时: 直到 [ ! -z docker exec -it my_docker bash -c "/u01/app/oracle/product/11.2.0/xe/bin/lsnrctl start" | grep successfully];回显“init_demo:等待TNS监听器启动”;睡眠0.1;完成

我得到: bash:[:缺少`]'

0 个答案:

没有答案