【发布时间】:2017-09-07 08:42:56
【问题描述】:
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
Dockerfile:
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-compose.yml 内容和设置此环境的任何其他脚本吗?
-
当然,现在就在这里
-
安装
/tmp/data的驱动器上肯定有空间吗? (并且运行 Docker 守护进程的用户是否具有写入权限?) -
您从哪个目录运行
docker-compose命令,您在/user、/User(情况很重要)、/projects 等中吗? -
为什么需要设置 /tmp/data/ 卷?通过分析Dockerfile for Postgres:9.5 link,您会看到它定义了一个托管卷/var/lib/postgresql/data。注意:卷 .:/tmp/data/ 意味着您声明了一个绑定挂载卷 - 将主机上的位置映射到容器上的位置,而不是托管卷。这可能还需要设置 USER 映射。
标签: macos postgresql docker macos-sierra postgresql-9.5