【问题标题】:build path either does not exist, is not accessible, or is not a valid URL构建路径不存在、不可访问或不是有效的 URL
【发布时间】:2021-04-09 05:46:45
【问题描述】:

我试着找出 docker 在云中运行我的 django rest 框架 + vue.js 项目。我构建了 Dockerfile 和 docker-compose.yml 文件来启动 ubuntu 机器并运行 postgresql、vue.js 和 drf 容器。但是当我尝试运行 docker-compose build 时,我收到以下消息:

build path either does not exist, is not accessible, or is not a valid URL

这是我的 Dockerfile:

RUN apt-get update && upt-get install -y \
    gcc \
    musl-dev \
    node.js \
    postgresql-server-dev-10 \
    apt-utils \
    python3.7 \
    python3.7-dev \
    python3-pip \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN npm install webpack@2.9

WORKDIR /app

COPY requirements.txt /app
RUN pip3 install --no-cache-dir -r requirements.txt

COPY . /app

docker-compose.yml:

version: '3.5'

services:
  postgres:
    image: postgres:10
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 8599
      POSTGRES_DB: adserver
    volumes:
      - adserver-data/postgresql/data:/var/lib/postgresql/data
    restart: always
  rest_framework:
    build:
      context: ./app/adserver
      dockerfile: Dockerfile
    depends_on:
      - postgres
    command: ['python manage.py runserver']
    restart: always
  vue:
    build:
      context: ./app/adserver-vue
    depends_on:
      - rest_framework
    command: ['npm run watch']

请告诉我我做错了什么?

【问题讨论】:

  • 您正在运行的实际docker build 命令是什么?你得到的实际错误是什么? Dockerfile 中的第一行 (FROM) 和最后一行 (CMD) 是什么? (关于docker-compose.yml 文件中的command: 覆盖错误,我有一个更长的答案,但我认为这不是你的问题。)
  • 服务postgres使用图片→OK;服务 rest_framework 使用位于./app/adserver 的 Dockerfile → OK 可能就是您在此处显示的那个;服务 vue 使用位于./app/adserver-vue → NOK 的 Dockerfile,那个也应该存在!

标签: docker vue.js django-rest-framework docker-compose


【解决方案1】:

验证文件夹的名称,因为文件夹 app/adserver-vue 需要在 docker-compose.yml 中以相同的名称存在

【讨论】:

    猜你喜欢
    • 2021-09-01
    • 2021-10-02
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多