100DaysOfCode
Вчора ми досліджували Docker та як налаштувати середовище для тестового застосунку. Якщо ви ще не читали, почніть тут, щоб налаштувати все.
Сьогодні ми створимо власний образ Docker, який ви зможете поділитися/відправити своїм друзям чи колегам.
Проект: Створити образ Docker для розподіленого веб-застосунку, написаного на Python, який генерує випадкові смішні GIF на вимогу. Цей застосунок буде розгорнуто за допомогою Docker-образу на AWS Elastic Beanstalk.
Весь код для цього проекту можна знайти на моєму github
Контейнер Docker, використаний у цьому проекті, можна знайти на моєму registry
Крок 1: Створення веб-застосунку на Python
Відкрийте додаток Docker Terminal і створіть каталог для вашого веб-застосунку. Для цього проекту я створю застосунок на Python, який генерує випадкові смішні GIF за допомогою Giphy API. Код для цього можна знайти у моєму github профілі, і ви можете завантажити його для тестування.
Ви побачите, що нам знадобляться пакети “flask” та “requests” для Python, тому додайте їх до файлу “requirements.txt” і встановіть наступним чином. Якщо виникнуть проблеми з правами, можна перед командою додати sudo.
pip install -r requirements.txt
Тепер ви можете запустити ваш Python-застосунок локально, щоб перевірити, чи все працює коректно.
Якщо ви перейдете за адресою “localhost:5000” у вашому браузері, ви повинні побачити ваш веб-застосунок.
Крок 2: Створення образу Docker
Тепер ми оновимо цей проект до образу Docker, який можна легко розповсюджувати.
-
Створіть файл у каталозі вашого проекту під назвою “Dockerfile” наступним чином:
-
Тепер створіть образ Docker за допомогою наступної команди. Якщо виникнуть проблеми з підключенням, використовуйте команду eval, як показано нижче. Зауважте, що потрібно замінити ім’я користувача на ваше власне ім’я репозиторію Docker.
Після успішного створення ви побачите низку повідомлень про побудову бібліотек Python в терміналі, після чого з’явиться “Successfully built”.
Переконайтеся, що цей побудований Docker-образ працює коректно, запустивши цю команду та відкривши адресу в браузері.
Крок 3: Публікація вашого Docker-образу
Опублікуйте цей контейнерний образ у вашому репозиторії Docker за допомогою цієї команди.
Крок 4: Розгортання Docker-образу на AWS Elastic Beanstalk
AWS Elastic Beanstalk — це PaaS (Platform as a Service) від Amazon Web Services, який дозволяє користувачам створювати додатки та відправляти їх. У нашому випадку ми просто вказуємо на наш Docker-образ, і Beanstalk автоматично обробляє деталі, пов'язані з постачанням ресурсів, балансуванням навантаження, масштабуванням та моніторингом здоров'я застосунків.
Налаштуйте обліковий запис AWS, якщо у вас його ще немає, і створіть нове середовище додатка в Beanstalk. Кроки мають бути простими, але є кілька моментів, які варто зазначити:
- Виберіть “Predefined Configuration” як Docker.
- Для джерела використовуйте опцію “upload your own”, щоб вказати на файл “Dockerrun.aws.json” у вашому проекті (див. приклад на github). Зображення в цьому файлі повинно бути вашим Docker-образом.
Ви можете швидко пройти всі інші кроки, щоб завершити створення додатка.
Це має бути встановлено та опубліковано за вашим URL на Beanstalk.
Перейдіть за вказаним URL, у моєму випадку: http://gifme.us-west-2.elasticbeanstalk.com/, щоб отримати безперервні смішні GIF-ки при кожному оновленні сторінки, що гарантує вам гарний настрій!
Вітаємо, ви успішно розгорнули Docker-образ за допомогою AWS Beanstalk! Тепер ви можете поділитися цим URL з вашою родиною та друзями, щоб викликати усмішку на їхніх обличчях!
День 12 #100DaysOfCode ЗАВЕРШЕНО
Якщо вам сподобалось, будь ласка, натисніть 👏 щоб інші теж могли насолодитись. Слідкуйте за мною в Twitter @HariniLabs щоб отримувати останні новини або просто сказати привіт 🙂
PS: Я веду двотижневу розсилку #WomenInTech для дози натхнення з світу технологій, і так, чоловіки теж можуть підписатися! Отримуйте її тут 🙂
Перекладено з: Day 12: Creating your own Docker image and deploying it on AWS Beanstalk — Random Funny GIFs app