如何编写一个自动输入" docker container"的bash脚本做其他事情?

时间:2016-02-22 07:27:45

标签: linux bash shell docker

我想实现一个自动bash脚本,该脚本输入正在运行的docker container,然后执行一些操作:

# cat docker.sh
#!/bin/bash -x

docker exec -it hammerdb_net8 bash
cd /data/oracle/tablespaces/
pwd

在终端上执行脚本:

# ./docker.sh
+ docker exec -it hammerdb_net8 bash
[root@npar1 /]#

输出显示只登录docker container,但不会进行其他操作。

是否有任何方法可以自动输入docker container并执行其他操作?

1 个答案:

答案 0 :(得分:3)

您可以使用bash -c

docker exec -it hammerdb_net8 bash -c 'cd /data/oracle/tablespaces/; pwd; ls'

要运行一系列命令,请使用here-doc in BASH

docker exec -i hammerdb_net8 bash <<'EOF'
cd /data/oracle/tablespaces/
pwd
ls
EOF