我想编写一个自动执行以下操作的bash脚本:
进入内部运行容器
docker exec -it CONTAINER_NAME /bin/bash
Run Code Online (Sandbox Code Playgroud)
执行一些命令:
cat /dev/null > /usr/local/tomcat/logs/app.log
exit
Run Code Online (Sandbox Code Playgroud)
有问题的部分是何时docker exec执行.创建了新shell,但未执行其他命令.
有办法解决吗?
anu*_*ava 25
你可以用heredoc与docker exec命令:
docker exec -i CONTAINER_NAME bash <<'EOF'
cat /dev/null > /usr/local/tomcat/logs/app.log
exit
EOF
Run Code Online (Sandbox Code Playgroud)
要使用变量:
logname='/usr/local/tomcat/logs/app.log'
Run Code Online (Sandbox Code Playgroud)
然后用作:
docker exec -i CONTAINER_NAME bash <<EOF
cat /dev/null > "$logname"
exit
EOF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15779 次 |
| 最近记录: |