Как можно установить манифест.image.context AWS Copilot в корневой каталог репозитория проекта?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как можно установить манифест.image.context AWS Copilot в корневой каталог репозитория проекта?

Сообщение Anonymous »

Как можно установить параметр файла манифеста image.context AWS Copilot в корневой каталог проекта? Я транслирую файл Docker Compose в файлы манифеста Copilot, но мне не удалось заставить Copilot учитывать параметр image.context, используя относительные или абсолютные пути.
Приблизительно структура репозитория проекта:

Код: Выделить всё

- 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

Файл манифеста Copilot службы

Код: Выделить всё

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
Для каждого image.context я получаю одну и ту же ошибку: не удалось найти ни одно из исходных расположений файлов ни одной из команд Dockerfile COPY. Единственные два обходных пути, которые я вижу, — это реструктурировать репозиторий проекта в соответствии с примерами документации или создать образы службы в Docker, отправить их в ECR, а затем вместо этого использовать параметр imagee.location.
Сообщение об ошибке второго пилота

Код: Выделить всё

[+] 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
В дополнение к различным опробованным значениям контекстов я также обновил copilot с версии 1.25.0 до 1.29.1 с помощью доморощенного aws/tap/copilot-cli Tap.

Подробнее здесь: https://stackoverflow.com/questions/768 ... epositorys
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»