Приблизительно структура репозитория проекта:
Код: Выделить всё
- project_root
- src
- api.py
- copilot
- api
- manifest.yaml
- requirements.txt
- requirements
- base.in
- base.txt
- development.in
- development.txt
- production.in
- production.txt
- dockerfiles
- api
- Dockerfile
- start_agent.sh
- start_api.sh
- docker-compose.yaml
Код: Выделить всё
FROM python:3.11
RUN mkdir /app
WORKDIR /app
COPY ./requirements/ requirements
COPY ./requirements.txt .
RUN pip install -r requirements.txt
COPY . /app
COPY ./dockerfiles/services/api/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY --chmod=### ./dockerfiles/services/api/start_agent.sh /app/start_agent.sh
COPY --chmod=### ./dockerfiles/services/api/start_api.sh /app/start_api.sh
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
EXPOSE 8080
Код: Выделить всё
name: api
type: Backend Service
image:
build: ./dockerfiles/services/api/Dockerfile
context: .
port: 8080
...
exec: true
network:
connect: true
- "."
< li>"../.." - "../../.."
- "/путь/к/проекту/репозиторию "
Код: Выделить всё
# from project_root
copilot svc deploy --name api --env staging
Сообщение об ошибке второго пилота
Код: Выделить всё
[+] Building 0.5s (14/14) FINISHED
=> [internal] load build definition from Dockerfile
=> => transferring dockerfile: 37B
=> [internal] load .dockerignore
=> => transferring context: 2B
=> [internal] load metadata for docker.io/library/python:3.11
=> [internal] load build context
=> => transferring context: 2B
=> [ 1/10] FROM docker.io/library/python:3.11
...
=> ERROR [10/10] COPY requirements.txt .
------
> [10/10] COPY requirements.txt .:
------
failed to compute cache key: "/requirements.txt" not found: not found
Подробнее здесь: https://stackoverflow.com/questions/768 ... epositorys