Skip to content
Advertisement

How to write a bash script which automate entering “docker container” and doing other things?

I want to implement an automatic bash script which enters a running docker container, and do some stuffs:

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

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

Executing the script on terminal:

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

The output shows only login the docker container, but won’t do other operations.

Is there any method to automate entering docker container and doing other things?

Advertisement

Answer

You can use bash -c:

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

For running a series of commands use here-doc in BASH:

docker exec -i hammerdb_net8 bash <<'EOF'
cd /data/oracle/tablespaces/
pwd
ls
EOF
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement