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