我正在嘗試創建一個 .bat 檔案來備份容器內的資料庫。在第一個命令(用于進入容器)之后,下一個將被忽略。
docker exec -it CONTAINER_NAME /bin/bash
cd /var/opt/mssql/data
任何想法為什么?如果我嘗試cd /var/opt/mssql/data在打開的 cmd 中手動寫入,它可以作業。
uj5u.com熱心網友回復:
運行時docker exec -it CONTAINER_NAME /bin/bash,您將在bashdocker 容器內打開一個 -shell。
下一個命令,即cd /var/opt/mssql/data,只有在上一個命令docker exec -it CONTAINER_NAME /bin/bash已經成功退出的情況下才會執行,這意味著 docker 容器上的 shell 已經關閉/退出。
這意味著它cd /var/opt/mssql/data會在本地機器上執行,而不是在 docker 容器內。
要在 docker 容器中運行命令,請使用以下命令
docker exec -it CONTAINER_NAME /bin/bash -c "<command>"
盡管在構建程序中在容器內創建腳本或在啟動容器時在 docker 容器內掛載腳本可能會更好,然后只需使用上述命令呼叫此腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/497706.html
下一篇:我需要幫助修復我創建的批處理腳本
