Construction de l'environnement de développement Simple Docker Compose + Django

Aperçu

Auparavant, dans l'article suivant, j'ai expliqué comment créer un environnement de développement Django avec un seul conteneur à l'aide de Dockerfile. Construction de l'environnement de développement Simple Docker + Django

Cette fois, je décrirai la méthode en utilisant Docker Compose.

Comme pour la dernière fois, nous visons à construire un environnement simple, nous allons donc utiliser le standard Django SQLite3 tel qu'il est pour la base de données.

supposition

Nous supposons que Windows et Mac avec Docker Desktop installé, ou Linux avec Docker Engine et Docker Compose installés.

Pour Windows et Mac, Docker Compose est inclus dans Docker Desktop, il n'est donc pas nécessaire de l'installer séparément.

Les commandes de l'article sont exécutées sur le terminal Mac, mais si Docker Desktop est installé, il semble que des commandes similaires puissent être exécutées sur l'invite de commande Windows.

Créer plusieurs conteneurs avec Docker Compose

1. Créez un répertoire de travail

Utilisez Dockerfile et docker-compose.yml pour créer un environnement de développement Django avec plusieurs conteneurs Docker.

Créez un répertoire de travail arbitraire sur la machine locale et créez un fichier nommé Dockerfile, requirements.txt, docker-compose.yml et un répertoire avec un nom arbitraire. (Ici, nous l'appelons src).

Dockerfile
docker-compose.yml
requirements.txt
src/

2. Modifiez le fichier de paramètres

Modifiez le contenu du Dockerfile comme suit.

Dockerfile


FROM python:3.8.3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

Modifiez le contenu de requirements.txt comme suit.

requirements.txt


django
pyyaml

Modifiez le contenu de docker-compose.yml comme suit.

docker-compose.yml


version: '3'
    
services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./src:/code
    ports:
      - "8000:8000"

J'omettrai le Dockerfile et les requirements.txt car ils sont expliqués dans Article précédent.

Dans docker-compose.yml, définissez des services tels que serveur Web, base de données, serveur de messagerie, etc. Seul le service nommé web est défini ici.

Si vous démarrez le conteneur avec la commande docker-compose, le conteneur démarrera pour chaque service défini ici.

3. Créer un conteneur et un projet Django

Exécutez la commande docker-compose run sous le répertoire où se trouve le Dockerfile, etc. En spécifiant le nom du service web après run, vous exécuterez la commande django-admin start project sur le service Web.

$ docker-compose run web django-admin.py startproject django_prj .

Selon build: . décrit dans le service Web dans docker-compose.yml, si le conteneur n'est pas créé, l'image est automatiquement construite et le conteneur est créé à ce moment.

Vous pouvez voir que le conteneur a été créé dans la fenêtre du tableau de bord de Docker Desktop. django_s_test_dashboard.png Si le projet Django est créé avec succès, le fichier de modèle de projet sera créé sous le répertoire src.

db.sqlite3
django_prj
manage.py

4. Démarrez le conteneur

Exécutez la commande docker-compose up sous le répertoire où se trouve le Dockerfile, etc.

$ docker-compose up

Vous pouvez voir que le conteneur a démarré dans la fenêtre du tableau de bord de Docker Desktop. django_s_test_dashboard.png Pour confirmation, allez sur http: // localhost: 8000 / dans votre navigateur.

django_s_test_rocket.png Lorsque la page d'accueil avec l'image de la fusée est affichée, le projet Django fonctionne normalement. Merci pour votre travail acharné: D┼─┤

Après cela, lisez la documentation officielle de Django et les livres de référence disponibles dans le commerce, et si une commande est spécifiée, ajoutez docker-compose run [nom du service Web] devant la commande à Django sur le conteneur Docker. Diverses opérations seront exécutées pour.

Impressions

Comme Docker, les informations sur la création de l'environnement de développement pour Docker Compose et Django ont également été un énorme succès, mais je n'ai trouvé que des entrées avec des paramètres hors spécifications avec un œil sur l'environnement de production, je vais donc lire cet article par moi-même pour revenir en arrière. créé.

De plus, bien qu'il n'y ait pas de corps ni de couvercle, la méthode de création d'un conteneur Django expliquée dans le document officiel Docker est la plus simple à comprendre, veuillez donc vérifier cela.

Il existe une traduction de la page sur le site du document en japonais, mais les paramètres peuvent différer de l'original, donc si vous ne pouvez pas lire l'anglais, reportez-vous à l'original pour les paramètres et traduisez l'explication en japonais. Je pense que vous devriez vérifier la documentation.

référence

Recommended Posts

Construction de l'environnement de développement Simple Docker Compose + Django
Construction d'un environnement de développement simple Docker + Django
Créer un environnement de développement pour Django + MySQL + nginx avec Docker Compose
Créer un environnement de développement PureScript avec Docker
Créer un environnement de développement Wordpress avec Docker
Créer un environnement de développement pour Docker + Rails6 + Postgresql
Créez rapidement un environnement de développement WordPress avec Docker
Créer un environnement de développement pour Docker, Java, vs code
[Copier et coller] Créez un environnement de développement Laravel avec Docker Compose, partie 2
Essayez de créer un environnement de développement Java à l'aide de Docker
Créer un environnement Node.js avec Docker
Créer un environnement de développement Unity sur docker
Docker x Java Construire un environnement de développement trop simple
Créer un environnement d'exécution WAS à partir de Docker
Créer un environnement de développement Java sur Mac
Créer un environnement de développement Ultra96v2 sur Docker 1
Créer un environnement de test de navigateur à l'aide de Capybara dans l'environnement de développement Docker
Créer un environnement Laravel / Docker avec VSCode devcontainer
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)
[Win10] Créer un environnement de développement JSF avec NetBeans
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Ubuntu)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Mac)
Créer un environnement de développement Spring Boot avec docker
Créer un environnement de développement Java avec VS Code
Créer un environnement de développement basé sur Doker sur Windows10 Famille 2020 ver.Partie 1 Jusqu'à la construction de Docker basé sur WSL2
Créez un environnement de développement pour créer des applications Ruby on Jets + React avec Docker
Créer un conteneur Docker pour un serveur Web simple Python
Créer un environnement de développement Ruby on Rails sur AWS Cloud9
Créez un environnement de développement Docker + Laravel PHP + Vue.js en 5 minutes
[Note] Créez un environnement Python3 avec Docker dans EC2
Environnement de développement WSL2 + VSCode + Docker
Créer un environnement Docker avec WSL
Ruby ① Création d'un environnement Windows
Installez Ubuntu 20.04 dans la boîte virtuelle sur Windows10 et créez un environnement de développement à l'aide de docker
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
Créez un environnement de développement «Spring Thorough Introduction» avec IntelliJ IDEA
J'ai essayé de créer un environnement de développement padrino avec Docker
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker Compose
Créer un environnement local Couchbase avec Docker
Créer un environnement Tomcat 8.5 avec Pleiades 4.8
Création d'un environnement de développement Java (pour Mac)
Créer un environnement XAMPP sur Ubuntu