簡體   English   中英

MongoDB Docker容器:錯誤:無法將pid文件寫入/tmp/tmp.aLmNg7ilAm:設備上沒有剩余空間

[英]MongoDB Docker container: ERROR: Cannot write pid file to /tmp/tmp.aLmNg7ilAm: No space left on device

我像這樣啟動了一個MongoDB容器:

docker run -d -p 27017:27017 --net=cdt-net --name cdt-mongo mongo

我看到我的MongoDB容器已退出:

0e35cf68a29c        mongo               "docker-entrypoint.s…"   Less than a second ago   Exited (1) 3 seconds ago                       cdt-mongo

我檢查了Docker日志,我看到:

$ docker logs 0e35cf68a29c
about to fork child process, waiting until server is ready for connections.
forked process: 21
2018-01-12T23:42:03.413+0000 I CONTROL  [main] ***** SERVER RESTARTED *****
2018-01-12T23:42:03.417+0000 I CONTROL  [main] ERROR: Cannot write pid file to /tmp/tmp.aLmNg7ilAm: No space left on device
ERROR: child process failed, exited with error number 1

有誰知道這個錯誤是什么? 容器中沒有足夠的空間?

我不得不刪除舊的Docker鏡像以釋放空間,這是我使用的命令:

# remove all unused / orphaned images
echo -e  "Removing unused images..."
docker rmi -f $(docker images --no-trunc | grep "<none>" | awk "{print \$3}") 2>&1 | cat;
echo -e  "Done removing unused images"

# clean up stuff -> using these instructions https://lebkowski.name/docker-volumes/
echo -e  "Cleaning up old containers..."
docker ps --filter status=dead --filter status=exited -aq | xargs docker rm -v 2>&1 | cat;
echo -e  "Cleaning up old volumes..."
docker volume ls -qf dangling=true | xargs docker volume rm 2>&1 | cat;

我們最近在使用docker-composemongo和一堆其他服務時遇到了這個問題。 有兩個修復程序對我們有用。

  1. 清除未使用的東西
# close down all services
docker-compose down

# clear unused docker images
docker system prune

# press y
  1. 增加docker可用的映像內存 - 這取決於docker的安裝。 例如,在Mac上,默認為64Gb,我們通過UI將其翻倍為128Gb。

我們在Windows和Mac上都遇到過這個問題,上面修復了它。

暫無
暫無

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

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