繁体   English   中英

无法使用 docker-compose 运行容器

[英]Failed to running a container with docker-compose

在我的 ubuntu vbox 上执行以下 shell 时出现错误。

docker-compose up -d
Step 1/4 : FROM postgres:9.4
 ---> d1b08fdd94ed
Step 2/4 : RUN mkdir /docker-entrypoint-initdb.d/census/
 ---> Using cache
 ---> 35c38c9966fb
Step 3/4 : COPY ./sql/census/ /docker-entrypoint-initdb.d/census
ERROR: Service 'db' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder974990962/sql/census: no such file or directory

我在谷歌上搜索,但没有得到解决这个问题的提示。

你能帮我解决这个问题吗?

感谢您的关注。 最好的问候, Liki

文件夹结构

docker-compose.yml
db/Dockerfile
web/Dockerfile

docker-compose.yml

version: "3"

services:
  web:
    build:
      context: .
      dockerfile: docker/web/Dockerfile
    container_name: wazimap-vpuu
    environment:
      - DATABASE_URL=postgresql://postgres:postgres@db/postgres
    expose:
      - "8000"
    command: bash -c "python manage.py migrate --noinput && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - .:/vpuu
    ports:
      - "8000:8000"
    depends_on:
      - db
  db:
    build:
      context: .
      dockerfile: docker/db/Dockerfile
    container_name: wazimap-postgres
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - postgres-data:/var/lib/postgresql/data

volumes:
  postgres-data:

数据库/Dockerfile

FROM postgres:9.4

RUN mkdir /docker-entrypoint-initdb.d/census/
COPY sql/census/ /docker-entrypoint-initdb.d/census
COPY sql/extensions/ /docker-entrypoint-initdb.d/

网络/Dockerfile

FROM ubuntu:18.04

ENV PYTHONUNBUFFERED 1

RUN apt-get update && apt install -y gdal-bin libgdal-dev
RUN apt install -y python-pip git

ENV CPLUS_INCLUDE_PATH /usr/include/gdal
ENV C_INCLUDE_PATH /usr/include/gdal

RUN mkdir /vpuu
WORKDIR /vpuu

COPY . /vpuu

RUN pip install -r requirements.txt

根据Dockerfile 文档

COPY指令从<src>复制新文件或目录,并将它们添加到容器的文件系统中<dest>路径。

<src>在 docker-compose dockerfile 指令的上下文中指定

错误COPY failed: stat /var/lib/docker/tmp/docker-builder974990962/sql/census: no such file or directory意味着在构建上下文中找不到文件sql/census

COPY某些东西,您应该在此之前将其放入构建上下文中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM