Préparer l'environnement d'exécution de Python3 avec Docker

"Création d'un service qui modifie l'historique d'utilisation de Suica mobile afin qu'il puisse être facilement utilisé pour le règlement des dépenses" Tout d'abord, nous allons développer en Python, donc créer un environnement où Python peut être exécuté

Environnement de l'écrivain

windows PC (Core i7-7600 / 16GB) Modifier avec VS code Il est pratique d'inclure les extensions Python et Docker

politique

Puisqu'il est développé sur un PC Windows, il est difficile de le faire directement. L'environnement d'exécution Python configure un conteneur avec Docker

Préparation

Installez ** Docker pour Windows ** Il est nécessaire d'activer Hyper-V. Installez également [** docker-compose **] * [Docker] Installer Docker et Docker Compose sur Windows 10 Professionnel 64 bits

Créer un Dockerfile

Je vais installer diverses choses, alors construisez l'image Enregistrez le fichier suivant en tant que Dockerfile dans un répertoire approprié quelque part

Dockerfile


FROM centos/python-36-centos7:latest
USER root
RUN yum -y install java-1.8.0-openjdk
RUN pip install flask pandas tabula-py uwsgi
WORKDIR /src
ENV PYTHONUNBUFFERED=1

Créer docker-compose.yml

Puisque vous modifiez le fichier Python sous Windows et que vous l'exécutez sur Docker, vous devez pouvoir voir le fichier Python sous Windows à partir du conteneur. Cela peut être spécifié avec "-v" lors du lancement du conteneur, mais comme Windows est gênant et que je ne veux pas taper la commande à chaque fois, unifiez les commandes avec docker-compose

docker-compose.yml


version: '3.7'
services:

  testenv:
    build:
      context: ./app
      dockerfile: Dockerfile
    container_name: testenv
    tty: true
    command: /bin/sh -c "while :; do sleep 10; done"
    volumes:
      - ./app/src:/src

volumes:
  temp:

S'il n'y a pas de commande: part, le conteneur tombera en un instant Quand je google, la plupart des gens le résolvent avec tty: vrai, mais pour une raison quelconque, il est inutile dans mon environnement

Placez le Dockerfile et le docker-compose.yml comme ceci test.py est un fichier Python à exécuter

│  docker-compose.yml
│
└─app
    │  Dockerfile
    │
    └─src
            test.py

Lancer le conteneur

$ docker-compose.exe up --build -d
Creating network "test_default" with the default driver
Building testenv
Step 1/6 : FROM centos/python-36-centos7:latest
 ---> 90c6a4022ee5
Step 2/6 : USER root
 ---> Using cache
 ---> 03e9f59a6dbc
Step 3/6 : RUN yum -y install java-1.8.0-openjdk
 ---> Using cache
 ---> 463337c7b050
Step 4/6 : RUN pip install flask pandas tabula-py PyPDF2 uwsgi crontab
 ---> Using cache
 ---> 26c28d2b838c
Step 5/6 : WORKDIR /src
 ---> Running in f5ab2a9b405e
Removing intermediate container f5ab2a9b405e
 ---> b998a42b8180
Step 6/6 : ENV PYTHONUNBUFFERED=1
 ---> Running in fd8d783f9e2f
Removing intermediate container fd8d783f9e2f
 ---> e1e0833bc33a

Successfully built e1e0833bc33a
Successfully tagged test_testenv:latest

Regarde si tu t'es levé

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
3b7e97ef1fd5        test_testenv        "container-entrypoin…"   4 seconds ago       Up 2 seconds        8080/tcp            testenv

Essayez d'entrer dans le conteneur

$ winpty docker exec -it testenv bash
(app-root) bash-4.2# pwd
/src
(app-root) bash-4.2# ls
test.py
(app-root) bash-4.2# cat test.py
print('Hello, World')
(app-root) bash-4.2# python3 test.py
Hello, World

Vous pouvez enfin commencer à écrire votre code.

Recommended Posts

Préparer l'environnement d'exécution de Python3 avec Docker
Préparer l'environnement python3 avec Docker
Remarque: préparez l'environnement de CmdStanPy avec docker
Préparation de l'environnement d'exécution de PyTorch avec Docker Novembre 2019
Construire un environnement Mysql + Python avec docker
Configurer un environnement de développement Python avec Atom
Préparez l'environnement de développement avec anyenv
Unifier l'environnement de l'équipe de développement Python en commençant par Poetry
Créer un environnement Jupyter Lab (Python) avec Docker
Derrière le flyer: utiliser Docker avec Python
Vérifier l'existence du fichier avec python
À propos de l'environnement virtuel de Python version 3.7
Créer un environnement d'exécution pour Jupyter Lab
Créer un environnement Python + uWSGI + Nginx avec Docker
Environnement de lancement avec LineBot + Heroku + Docker + Python
Préparez un environnement de test de charge distribué avec l'outil de test de charge Python Locust
Introduction à Python Préparons l'environnement de développement
Unification de l'environnement Python
Mathématiques Todai 2016 résolues avec Python
[Note] Exportez le html du site avec python.
Calculez le nombre total de combinaisons avec python
[Python] Créer un environnement de développement Django avec Docker
le zen de Python
Utiliser plusieurs versions de l'environnement python avec pyenv
Vérifiez la date du devoir de drapeau avec Python
J'ai défini des variables d'environnement dans Docker et je les ai affichées en Python.
Créer un environnement de Nginx + uWSGI + Python (Django) avec docker
Préparer un environnement pour toucher les fichiers au format grib2 avec python (édition Docker)
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
Utiliser python avec docker
environnement python avec docker-compose
Préparer l'environnement de Chainer sur l'instance spot EC2 avec AWS Lambda
Convertir le code de caractère du fichier avec Python3
[Python] Déterminez le type d'iris avec SVM
Environnement virtuel avec Python 3.6
Créer un environnement d'exécution python avec VS Code
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
Extraire le tableau des fichiers image avec OneDrive et Python
Apprenez Nim avec Python (dès le début de l'année).
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
Recommandation de construction d'un environnement Python portable avec conda
[Python] Construction de l'environnement OpenCV avec Docker (cv2.imshow () fonctionne également)
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Détruire l'expression intermédiaire de la méthode sweep avec Python
Utiliser Python installé par pyenv pour l'environnement d'exécution PL / Python
Visualisez la gamme d'insertions internes et externes avec python
Calculer le coefficient de régression d'une analyse de régression simple avec python
Reproduire l'exemple d'exécution du chapitre 4 de Hajipata en Python
Résumé du flux de base de l'apprentissage automatique avec Python
Exemple d'environnement pytest pour réparer la base de données avec Docker
Installez Ubuntu 20.04 avec GUI et préparez l'environnement de développement
Obtenez l'état de fonctionnement de JR West avec Python
Reproduire l'exemple d'exécution du chapitre 5 de Hajipata en Python
[Python] Chapitre 01-02 À propos de Python (Exécution et installation de l'environnement de développement)
Vers la retraite de Python2
Installer l'environnement Python avec Anaconda