簡體   English   中英

在帶有變量的 Docker 容器中運行命令

[英]Running a command in a Docker container with variables

我正在使用 docker-compose 類型的場景。 我想每晚為 partkeepr 備份數據庫。 我可以通過在容器中docker exec -it docker-partkeer_database_1 bash並運行mysqldump命令來獲得 bash shell,但我無法將其作為docker exec類型成功運行

我運行docker exec -it docker-partkeepr_database_1 bash -c mysqldump --databases partkeepr -upartkeepr -pUSERPASSWORD > /var/lib/mysql/backup/partkeeprsql.$(date +%Y-%m-%d-%H.%M.%S).sql

當我已經在容器中使用 bash shell 而不是在容器外部時,最后的日期部分工作得很好。 我可以運行沒有日期部分的命令,但我需要日期,所以我可以有多個備份。

-bash: /var/lib/mysql/backup/partkeeprsql.$(date +%Y-%m-%d-%H.%M.%S).sql: No such file or directory

有什么想法嗎?

我找到了問題的答案。 我沒有將 bash -c 之后的命令包裝在“”中。 一旦我運行下面的命令,它就像一個魅力。 我只是想讓每個人都知道我想出的答案。

docker exec -it docker-partkeepr_database_1 bash -c "mysqldump --databases partkeepr -upartkeepr - pUSERPASSWORD > /var/lib/mysql/backup/partkeeprsql.$(日期+%Y-%m-%d-%H.%M .%S).sql"

暫無
暫無

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

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