如何写一个自动进入“docker集装箱”和做其他事情的bash脚本?

我想实现一个自动的bash脚本,它进入一个正在运行的docker container ,并做一些事情:

 # cat docker.sh #!/bin/bash -x docker exec -it hammerdb_net8 bash cd /data/oracle/tablespaces/ pwd 

在terminal上执行脚本:

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

输出显示只logindocker container ,但不会做其他操作。

是否有任何方法来自动进入docker container和做其他事情?

你可以使用bash -c

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

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

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