首页 > 解决方案 > docker-compose up --build 声明一个错误,但是在我使用 docker-compose up 后它可以工作 什么是给我错误的问题

问题描述

我在下面添加了代码,希望它清晰准确

Dockerfile:

FROM python:3.8.5-alpine

RUN pip install --upgrade pip

COPY ./requirements.txt .
RUN pip install -r requirements.txt

COPY ./ddc /app

WORKDIR /app

COPY ./entrypoint.sh /
ENTRYPOINT ["sh", "/entrypoint.sh"]

码头工人-compose.yml

version: '3.7'

services:
  django_gunicorn:
    volumes:
      - static:/static
    env_file:
      - .env
    build:
      context: .
    ports:
      - "8000:8000"
  
  nginx:
    build: ./nginx
    volumes:
      - static:/static
    ports:
      - "80:80"
    depends_on:
      - django_gunicorn

volumes:
  static:

入口点.sh

#!/bin/sh

python manage.py migrate --no-input
python manage.py collectstatic --no-input

gunicorn ddc.wsgi:application --bind 0.0.0.0:8000
    

                                                                                                             

首先我使用 docker-compose up --build

这就是我得到的:

Building django_gunicorn
Sending build context to Docker daemon  19.46kB
Step 1/8 : FROM python:3.8.5-alpine
 ---> 0f03316d4a27
Step 2/8 : RUN pip install --upgrade pip
 ---> Using cache
 ---> ac5d6a64af93
Step 3/8 : COPY ./requirements.txt .
 ---> Using cache
 ---> 8dfb848be8a4
Step 4/8 : RUN pip install -r requirements.txt
 ---> Using cache
 ---> 0dee442b9c0a
Step 5/8 : COPY ./ddc /app
 ---> 21c33e5463d8
Step 6/8 : WORKDIR /app
 ---> Running in 9153438d9466
Removing intermediate container 9153438d9466
 ---> d27b60805a1b
Step 7/8 : COPY ./entrypoint.sh /
 ---> e497fecdfb76
Step 8/8 : ENTRYPOINT ["sh", "/entrypoint.sh"]
 ---> Running in f6eb59759a71
Removing intermediate container f6eb59759a71
 ---> 6db361baa8e8
Successfully built 6db361baa8e8
Successfully tagged django-docker-compose_django_gunicorn:latest
Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose/cli/main.py", line 81, in main
  File "compose/cli/main.py", line 203, in perform_command
  File "compose/metrics/decorator.py", line 18, in wrapper
  File "compose/cli/main.py", line 1186, in up
  File "compose/cli/main.py", line 1182, in up
  File "compose/project.py", line 664, in up
  File "compose/service.py", line 348, in ensure_image_exists
  File "compose/service.py", line 1133, in build
  File "compose/service.py", line 1948, in build
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp5cv0a52z'
[22049] Failed to execute script docker-compose

之后我只使用 docker-compose up

并且系统按预期工作。这个错误是什么意思,我该如何避免它。我使用最新的 docker 和 compose,它们是:

docker:Docker version 19.03.13, build cd8016b6bc
docker-compose version 1.29.2, build 5becea4c

标签: djangodockernginxgunicorn

解决方案



推荐阅读