Docker 严重:无法写入锁定文件 "postmaster.pid":设备上没有 space

Docker FATAL: could not write lock file "postmaster.pid": No space left on device

postgres:9.5

我尝试重启,

docker-compose build --no-cache

删除镜像和容器并重新构建

我有很多项目,任何人都开始,保持相同的配置... Mac osx 塞拉


显然容器没有被很好地删除,我尝试了这个并且重建后工作正常。

# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)

docker-compose.yml

version: '2'
services:
  web:
    build: .
    image: imagename
    command: python manage.py runserver 0.0.0.0:8000
    ports:
      - "3000:3000"
      - "8000:8000"
    volumes:
      - .:/code
    depends_on:
      - migration
      - redis
      - db
  redis:
    image: redis:3.2.3
  db:
    image: postgres:9.5
    volumes:
      - .:/tmp/data/
  npm:
    image: imagename
    command: npm install
    volumes:
      - .:/code
  migration:
    image: imagename
    command: python manage.py migrate --noinput
    volumes:
      - .:/code
    depends_on:
      - db

Docker 文件:

FROM python:3.5.2
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

RUN mkdir /code
WORKDIR /code

RUN easy_install -U pip

ADD requirements.txt /code/requirements.txt
RUN pip install -r requirements.txt`

如果您没有任何关键数据,您可以删除 docker 卷。

docker volume ls

docker volume rm your_volume

如果您从 Google 来到这里并发现多个容器抱怨磁盘 space,问题可能是您的本地 Docker 安装已经用完了它的磁盘图片大小。这可以在 Docker 中为 Mac 配置。 Here are the instructions to change that disk image size

您可以docker volume prune删除所有未使用的本地卷。

我的情况是,转到 docker 仪表板 -> 设置并增加 Disk Image size 然后重新启动