【发布时间】: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