簡體   English   中英

如何作為Bash Shell腳本的一部分在Docker容器中執行命令

[英]How to execute commands in docker container as part of bash shell script

我想編寫一個bash腳本來自動執行以下操作:

進入正在運行的容器中

docker exec -it CONTAINER_NAME /bin/bash

執行一些命令:

cat /dev/null > /usr/local/tomcat/logs/app.log
exit

問題部分是何時執行docker exec 創建新的外殼程序,但不執行其他命令。

有辦法解決嗎?

您可以在docker exec命令中使用heredoc

docker exec -i CONTAINER_NAME bash <<'EOF'
cat /dev/null > /usr/local/tomcat/logs/app.log
exit
EOF

要使用變量:

logname='/usr/local/tomcat/logs/app.log'

然后用作:

docker exec -i CONTAINER_NAME bash <<EOF
cat /dev/null > "$logname"
exit
EOF

您可以簡單地啟動

docker exec -it container_id cat /dev/null > /usr/local/tomcat/logs/app.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM