我想測試保存碼頭容器的日誌文件在this site播放,它爲您提供了一個安裝了docker的Linux根shell。我心中已經使用提供here解決方案:保存碼頭日誌文件與卷產生權限被拒絕
docker run -ti -v /dev/log:/root/data --name zizimongodb mongo
這是我在控制檯得到:
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "process_linux.go:339: container init caused \"rootfs_linux.go:57: mounting \\\"/dev/log\\\" to rootfs \\\"/graph/overlay2/7f1eb83902e3688c0a1204c2fe8dfd8fbf43e1093bc578e4c41028e8b03e4b38/merged\\\" at \\\"/graph/overlay2/7f1eb83902e3688c0a1204c2fe8dfd8fbf43e1093bc578e4c41028e8b03e4b38/merged/root/data\\\" caused \\\"permission denied\\\"\"".
但容器已經啓動:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8adaa75ba6f7 mongo "docker-entrypoint..." 2 minutes ago Created zizimongodb
docker logs -f zizimongodb
回報什麼。當我停止容器時,/root/data
中沒有保存任何東西。任何想法如何我可以正確保存所有日誌?
你爲什麼使用'/ dev/log'?嘗試使用'/ var/log/mongodb:/ root/data' –
@TarunLalwani,首先我有很多組件需要從他們的容器中獲取日誌;我想保存碼頭日誌以訪問所有這些日誌。其次,我嘗試了你的建議,停下來然後取出容器後沒有任何東西被保存。 –
那是因爲'mongo'不會在'/ root/data'上共享日誌。如果你檢查mongodb容器,日誌將被髮送到'/ var/log/mongodb/mongod.log'。那麼你爲什麼期望它工作? –