Dernière fois a décrit jusqu'à nginx.conf. Cette fois, je voudrais écrire principalement sur docker-compose.yml, y compris les détails.
Il est ouvert au public ci-dessous. Veuillez vous y référer avec l'article. Dockerize Django Environment
docker-compose.yml
version: '2'
services:
web:
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
command: gunicorn app.wsgi -b 0.0.0.0:8000
volumes:
- ./web:/usr/src/app
- ./web/static/:/usr/src/app/static
nginx:
restart: always
image: nginx
ports:
- "80:80"
volumes:
- "./nginx/:/etc/nginx/"
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
image: postgres
ports:
- "5432:5432"
Django (nom du service: web)Django a été changé en web. Construisez à partir du Dockerfile qu'il contient.indique àdocker d'exposer un port réseau spécifique (dans ce cas, 8000`) lorsque le conteneur est exécuté.LINKS pour lier le conteneur à d'autres services. (Cette fois, postgres)command remplace la commande exécutée lorsque le conteneur est exécuté. (Cette fois, gunicorn app.wsgi -b 0.0.0.0: 8000) * gunicorn sera décrit séparément.volumes déclare que le répertoire spécifié est un volume. Il est spécifié par rapport à (host: container).Django dans ./web: / usr / src / app../web/static /: / usr / src / appstatic.Nginx (nom du service: nginx)et tirez. Cette fois, tirez l'imagenginx`.PORTS vous indique de transférer le port 80 sur l'hôte et le port 80 sur le conteneur.VOLUMES de copier le fichier nginx.conf sous le répertoire nginx de l'hôte dans le répertoire / etc / nignx du conteneur.VOLUMES déclare que le répertoire / www / static est explicitement utilisé comme volume. (Répertoire contenant des fichiers statiques)VOLUMES_FROM vous indique de monter Web (le répertoire de Django). (Pour importer des fichiers statiques)PostgreSQL (nom du service: postgres)postgres.PORTS vous indique de transférer le port 5432 sur l'hôte et le port 5432 sur le conteneur.La prochaine fois, je décrirai les paramètres initiaux du framework Django.
Recommended Posts