[PYTHON] Lancez l'application Flask avec Docker sur Heroku

introduction

Il y a environ un mois, laissez l'image Docker telle quelle Maintenant que je peux le déployer sur Heroku, je l'ai essayé. Il est toujours en version bêta publique.

référence Container registry public beta - deploy Docker images to Heroku ContainerRegistryandRuntime

Préparation

Ce qui suit est décrit en supposant qu'il a déjà été terminé.

La source

J'ai utilisé ma propre application Flask comme cible de déploiement. https://github.com/nanakenashi/image_clock

C'est une simple application d'horloge qui change les images en fonction de l'heure.

image_clock/
    ├ static/
    ├ templates/
    ├ Dockerfile
    ├ app.py
    └ requirements.txt
#Utiliser Alpine Linux avec Python comme image de base
FROM python:3.5.2-alpine

#installation de git
RUN apk update
RUN apk add git

#Installation du package Python
ADD requirements.txt /tmp
RUN pip install -r /tmp/requirements.txt

#Placez le code source
WORKDIR /web
RUN git clone https://github.com/nanakenashi/image_clock.git clock

#lancer l'application flask
ENV FLASK_APP /web/clock/app.py
CMD flask run -h 0.0.0.0 -p $PORT

Le point est la partie de lancement de l'application flask.

procédure

Confirmation préalable

Assurez-vous que la commande docker est disponible

$ docker ps

Connectez-vous à Heroku.

$ heroku login

Placement du code source

Récupérez le code source de GitHub et accédez au répertoire.

$ git clone https://github.com/nanakenashi/image_clock.git ./image_clock
$ cd image_clock

Créer une application Heroku

Sécurisez une place pour l'application.

$ heroku create flask-clock-sample

À ce stade, il n'y a pas de source, donc c'est juste une boîte. Lorsque vous y accédez, cela ressemble à ceci. ↓ Heroku___Welcome_to_your_new_app_.png

Push conteneur Docker

Créez un conteneur basé sur le Dockerfile et envoyez-le au référentiel.

$ heroku container:push --app flask-clock-sample web

Contrôle de fonctionnement

$ heroku open --app flask-clock-sample

J'ai pu confirmer le fonctionnement de l'application horloge. Clock.png

Résumé

Parce que l'application utilisée cette fois n'utilise pas de modules complémentaires C'était très simple à installer et à déployer.

Il semble qu'il sera un peu plus difficile de créer une configuration de type Heroku telle que la connexion à la base de données et l'organisation des journaux.

Recommended Posts

Lancez l'application Flask avec Docker sur Heroku
Développement d'applications avec Docker + Python + Flask
Environnement de lancement avec LineBot + Heroku + Docker + Python
Touch Flask + courir avec Heroku
Journal de sortie vers la console avec Flask + Nginx sur Docker
Lancer Django sur un conteneur Docker à l'aide de docker-compose up
Application Web avec Python + Flask ② ③
Créer une application Rails avec Docker
Application Web avec Python + Flask ④
(Échec) Déployer une application Web créée avec Flask avec heroku
De la construction de l'environnement au déploiement pour flask + Heroku avec Docker
Créer un serveur Flask avec Docker
Déployer l'application Django avec Docker
Déployer l'application Django sur Heroku
Déployer l'application Flask sur heroku (amer)
Déployez l'application Flask sur Heroku
environnement en ligne du serveur de code (5) Lancer le serveur de code sur Docker
Déployez l'application Flask sur heroku
Créer une application Web de type Flask / Bottle sur AWS Lambda avec Chalice
Lier les applications WAS et FLASK sur docker
Ecrire des graphiques SVG avec matplotlib avec heroku
Application Web facile avec Python + Flask + Heroku
Exécutez une application Web Python avec Docker
Créer un service Web avec Docker + Flask
Premiers pas avec Heroku, déploiement de l'application Flask
Jusqu'à ce que l'application Web créée avec Bottle soit publiée (déployée) sur Heroku
Comment télécharger avec Heroku, Flask, Python, Git (4)
pykintone sur Docker
Redis sur Heroku
Gagnez l'application Web Python + Flask avec Jenkins
Notes sur Flask
shimehari sur heroku
Créer un babillard avec Heroku, Flask, SQL Alchemy
Paramètres de l'application Flask
Lancer un serveur Web avec Python et Flask
Un mémorandum pour toucher Python Flask avec Heroku
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
Scraping avec Python, publication sur TwitterBot, exécution régulière sur Heroku
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
Analyser et visualiser JSON (application Web ⑤ avec Python + Flask)
Configurer Docker sur Oracle Linux (7.x) avec Vagrant
Approvisionnement EC2 avec Vagrant + Jupyter (IPython Notebook) sur Docker
Mémo de déploiement de Django × Postgresql sur Docker vers Heroku
Lancez rapidement Jupyter avec Docker (langue cible: Anaconda / Ruby)
Comment télécharger avec Heroku, Flask, Python, Git (Partie 2)
Construction facile de code C ++ avec CMake sur Docker
Hobby Web Engineer développe une application Web avec Vue.js + Flask (& GCP)
Serveur TFTP avec Docker
Installer docker sur Fedora31
Démarrez Lambda avec Boto3
Utiliser python avec docker
Restriction IP avec Flask
validation jsonschema sur flask
Bonjour le monde avec Docker
Installez Docker sur AWS
Lancer le serveur de code sur alpine-linux
Bonjour le monde sur flacon
Programmation avec Python Flask
Installez Python 3.6 sur Docker