[英]Unable to set volume for mongodb logs in docker container
我的 docker mongo 圖像
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest f03be0dc25f8 2 days ago 448MB
我的容器命令
docker run -it --name c1_mongo -p 37017:27017 -v /var/mongo/data/c1_mongo:/data/db -v /var/mongo/config/c1_mongo/mongod.conf.orig:/etc/mongod.conf.orig -v /var/mongo/logs/c1_mongo:/var/log/mongodb mongo -f /etc/mongod.conf.orig
我得到的錯誤
{"t":{"$date":"2021-03-29T11:00:02.967Z"},"s":"F", "c":"CONTROL", "id":20574, "ctx":"main","msg":"Error during global initialization","attr":{"error":{"code":38,"codeName":"FileNotOpen","errmsg":"Failed to open /var/log/mongodb/mongod.log"}}}
當我更改主機中的配置文件並運行容器時,我的所有更改都會反映在容器中的配置文件中。 我容器的 /data/db 目錄中的數據正在同步到主機中我各自的文件夾。
就像我的數據存儲在我的主機中一樣。 我希望我的日志也存儲在我的主機上。
注意:卷映射顯示主機和容器的目錄。
請幫忙!
可以使用以下步驟解決此問題。
- 在不安裝導致問題的卷的情況下運行容器。
- Go 進入容器 bash 並檢查在我的情況下您遇到問題的文件夾權限是 /var/log/mongodb
- 現在檢查文件夾的所有者。
- 在容器 shell 中運行“cat passwd”並找到您在上一步中找到的所有者並注意它的 id 可能是(999 或 1000 等)。
- 現在退出容器,停止它,移除它。
- 現在在您的主機日志路徑上,在我的情況下是 /var/mongo/data/c1_mongo
- 將 c1_mongo 文件夾的所有者更改為“chown -R 999:999 c1_mongo”(999 是您在步驟 4 中找到的 id)
- 現在再次運行您的容器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.