Créez un environnement de développement Flask à faible coût avec Docker

introduction

Je voulais créer rapidement un environnement et m'en débarrasser à des fins pratiques ou inspirantes. Je l'ai fait pour qu'il puisse être construit en quelques fichiers et quelques secondes.

Préparation

Je ne fais que les bases, donc si seulement Docker fonctionne, cela devrait être gérable. Mon environnement d'exécution est la bêta publique de Docker pour Mac.

version


$ docker --version
Docker version 1.12.0, build 8eab29e, experimental

La source

Structure du répertoire local


flask/
    ├ Dockerfile
    ├ requirements.txt
    └ hello.py

Dockerfile

#Spécification de l'image de base
FROM python:3.5.2-alpine
                    
#Stocker le répertoire dans lequel la source est placée en tant que variable
ARG project_dir=/web/hello/
                                
#Copiez les fichiers requis du local vers le conteneur
ADD requirements.txt $project_dir
ADD hello.py $project_dir
         
# requirements.Installez le package répertorié dans txt
WORKDIR $project_dir
RUN pip install -r requirements.txt

#Installez les packages requis (lorsque vous travaillez à l'intérieur d'un conteneur)
RUN apk update                  
RUN apk add zsh vim tmux git tig

requirements.txt

$Après avoir exécuté pip install flask$ pip freeze > requirements.SMS




#### **`requirements.txt`**
```txt

click==6.6
Flask==0.11.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.10

Si cela ne vous dérange pas de changer la version du package Il suffit de `` $ pip install flask '' dans le conteneur.

hello.py Emprunté à Official Page.

app.L'argument run a été modifié à des fins de développement.




#### **`hello.py`**
```py

from flask import Flask                           
app = Flask(__name__)                             
                                                  
@app.route('/')                                   
def hello_world():                                
    return "Hello World!"                         
                                                  
if __name__ == '__main__':                        
    app.run(host="0.0.0.0", port=5000, debug=True)

procédure

Création d'image

Création d'image


$ cd /path/to/flask/
$ docker build -t flask . 

Démarrage du conteneur

Démarrage du conteneur


$ docker run -p 5000:5000 -it flask /bin/sh

Exécution du flacon

Puisque l'hôte et le port sont déjà spécifiés dans `` hello.py '', exécutez uniquement.

Exécution du flacon


$ cd /path/to/hello/
$ python hello.py

Si vous accédez à localhost: 5000 '' depuis votre navigateur, vous verrez Hello World! '' ``.

Conclusion

Jusqu'à présent, j'utilisais Ansible pour utiliser pleinement pyenv et virtualenv. Je vais quand même le jeter, et je pense que c'est normal de gérer grossièrement la version.

L'installation de Python est laissée à l'image de base Si vous souhaitez développer correctement, vous pouvez lire le Dockerfile ou le créer vous-même.

Recommended Posts

Créez un environnement de développement Flask à faible coût avec Docker
Créer un environnement de développement d'API rapide léger à l'aide de Docker
Créer un environnement go à l'aide de Docker
[Python] Créer un environnement de développement Django avec Docker
[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker
Créer un environnement de développement Django à l'aide de pyenv-virtualenv sur Mac
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Créez un environnement de développement avec Poetry Django Docker Pycharm
Créer un environnement de développement à l'aide de Jupyter et Flask avec Python dans Docker (prend en charge à la fois VS Code / code-server)
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Créez facilement un environnement de développement avec Laragon
[Linux] Créer un environnement Jenkins avec Docker
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Créez un environnement LAMP sur votre Docker local
Créer un environnement de développement de langage C avec un conteneur
Créer un environnement de développement Django à l'aide de Doker Toolbox
Créer un environnement Kubernetes pour le développement sur Ubuntu
Créer un environnement de développement mruby pour ESP32 (édition Linux)
Construire un environnement de développement Python sur Raspberry Pi
Flutter dans Docker - Comment créer et utiliser un environnement de développement Flutter dans un conteneur Docker
Créez un environnement de développement local avec WSL + Docker Desktop pour Windows + docker-lambda + Python
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Créez un environnement de développement local pour Laravel6.X sur votre Mac
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)
Comment créer un environnement Django (python) sur Docker
Je souhaite créer facilement un environnement de développement basé sur un modèle
Créer un environnement de développement Python sur Mac OS X
Construire un environnement virtuel Python en utilisant venv (Django + MySQL ①)
[Go + Gin] J'ai essayé de créer un environnement Docker
Créez un environnement Python sur votre Mac en utilisant pyenv
Créer un environnement de développement d'applications d'apprentissage automatique avec Python
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) à l'aide de VS Code + Remote Containers
Création d'un environnement de développement Jupyter Lab sur WSL2 à l'aide d'Anaconda3
Créez un environnement de développement Go avec les conteneurs distants de VS Code
Créez un serveur Web API à une vitesse explosive en utilisant HUG
Créez facilement un environnement GCP pour Kaggle à grande vitesse
Créer un environnement de développement VS Code + Docker avec une machine virtuelle Linux
Créer un environnement de développement Python avec Eclipse (ajouter un éditeur HTML)
Créer un environnement LAMP [CentOS 7]
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Créez un environnement de développement confortable avec VSCode x Remote Development x Pipenv
[ev3dev × Python] Construction de l'environnement de développement ev3dev
Créer un environnement d'apprentissage automatique
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créer un environnement Python hors ligne
Remarques sur la création d'un environnement LAMP à l'aide de Vagrant et VirtulBox
[Docker] Créer un environnement pour python (Flask) + GraphQL (graphène) + MySQL (sqlalchemy)
Créer un environnement Chainer à l'aide de CUDA et cuDNN sur une instance p2
Essayez d'utiliser virtualenv qui peut créer un environnement virtuel de Python
Le moyen le plus simple de créer un environnement d'utilisation Spleeter à l'aide de Windows
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Créez et essayez un environnement OpenCV et Python en quelques minutes à l'aide de Docker
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry