Фото Rachael Gorjestani на Unsplash
Нещодавно я натрапив на публічний Docker образ, який виглядав досить цікаво. Для потреб клієнта цей образ потрібно було розмістити на AWS. Щоб це запустити, все, що було потрібно — це файл Dockerrun.aws.json.
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "cruise/webviz"
},
"Ports": [
{
"ContainerPort": 8080,
"HostPort": 8080
}
]
}
На AWS необхідно створити нове середовище Elastic Beanstalk, вибрати опцію "Create environment":
Створити середовище
Виберіть платформу Docker:
Платформа
Оберіть завантажити ваш код і завантажте файл Dockerrun.aws.json, який ви створили.
Завантаження вихідного коду
Ось і все, тепер у вас є працююча версія Docker образу на Elastic Beanstalk.
Наприклад, якщо ваш CI/CD пайплайн налаштований на використання папки dist
як артефакта збірки, можливо, вам потрібно буде виконати команду cp -r .platform dist/
як частину вашого CI/CD скрипту.
Не вдалося розгорнути нову конфігурацію
Це, ймовірно, сталося тому, що ви або забули скопіювати скрипти до confighooks/..
, або вміст скриптів відрізняється між /hooks
і /confighooks
. Щоб виправити цю проблему, виконайте наступне:
- Видаліть все вміст з
.platform/confighooks
- Скопіюйте все з директорії
.platform/hooks
до.platform/confighooks
Помилка виконання інтерпретатора… з “command not found: corepack”
Це сталося тому, що ви використовуєте новішу версію Amazon Linux 2023, яка не містить corepack за замовчуванням. Дивіться розділ "Додаткові кроки для Amazon Linux 2023" для вирішення цієї проблеми.
Помилка виконання інтерпретатора… з “Permission denied”
Якщо ви бачите подібне, ймовірно, проблема в тому, що Elastic Beanstalk не має прав на виконання створених нами скриптів. Вам потрібно буде виконати команду chmod +x
для кожного скриптового файлу, а потім знову розгорнути ваше застосування.
Якщо ви все ще стикаєтеся з проблемами, залишайте коментар, і я обов'язково відповім!
Перекладено з: Using Yarn with AWS Elastic Beanstalk in 2024