Démarrez Django sur le conteneur Docker à l'aide de docker-compose. J'utilise un Mac.
Dans une application ancrée, la base de données et les conteneurs middleware peuvent être séparés et l'application peut être composée de plusieurs conteneurs. Exécuter une exécution Docker sur chaque conteneur peut être fastidieux. À ce moment-là, si vous utilisez docker-compose, vous pouvez contrôler plusieurs conteneurs avec une seule commande. docker-compose décrit et contrôle le comportement du conteneur dans docker-compose.yml.
La configuration qui sépare les conteneurs pour chaque fonction est également introduite dans le didacticiel AWS et s'appelle un micro service. L'avantage des configurations prenant en charge les microservices est que le développement et les tests d'applications peuvent être effectués en petites unités pour chaque fonction. De plus, si chaque conteneur est conçu comme faiblement couplé, chaque fonction peut être développée indépendamment, il est donc possible de se développer, de déployer et de faire évoluer sans être conscient du travail des autres équipes. Même dans le développement de startups que j'ai expérimentées, il était pratique de concevoir en tenant compte des microservices, de sorte que le développement, la vérification et les tests parallèles dans de petites unités fonctionnelles étaient possibles.
Cet article fait partie du projet Build on Docker and Deploy to AWS Fargate.
En guise de préparation préliminaire, veuillez installer Django dans l'environnement virtuel à l'aide de Pipenv. Veuillez vous référer au lien car j'ai écrit un article séparé pour la procédure détaillée. https://qiita.com/keita_gawahara/items/487a635d226fb0705b13
Créez un Dockerfile dans le dossier racine de votre projet.
$ touch Dockerfile
Ajoutez le contenu suivant au Dockerfile.
FROM python:3.7-slim
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /
COPY Pipfile Pipfile.lock /
RUN pip install pipenv && pipenv install --system
COPY . /
Générez le Dockerfile avec la commande docker build.
$ docker build .
Sending build context to Docker daemon 155.1kB
...
Step 7/7 : COPY . /
---> d239897dhfii9u”
Successfully built d26473003af
$touch docker-compose.yml
Ajoutez le contenu suivant à docker-compose.yml.
version: '3.7'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
Démarrez le conteneur à l'aide de la commande docker-compose up.
$ docker-compose up
Creating network...
...
web_1 | System check identified no issues (0 silenced).
web_1 | July 13, 2019 - 16:47:03
web_1 | Django version 2.2.3, using settings 'hello_project.settings'
web_1 | Starting development server at http://0.0.0.0:8000/
web_1 | Quit the server with CONTROL-C.
Lorsque j'ai consulté http://127.0.0.1:8000 dans mon navigateur, la page d'accueil de Django était affichée. Vous avez maintenant lancé Django sur Docker.
Après avoir quitté CONTROL-C, utilisez docker-compose down pour arrêter complètement le conteneur.
$ docker-compose down
Recommended Posts