/ docker-compose.yml
docker-compose.yml
 1  version: '3'
 2  
 3  services:
 4    python:
 5      build: ./bin/python
 6      command: uwsgi --socket :8001 --module app.wsgi --py-autoreload 1 --logto /tmp/mylog.log
 7      container_name: '${DJANGO_PROJECT_NAME}-python'
 8      volumes: 
 9        - ${PROJECT_DIR-./code}:/code
10        - ${STATIC_DIR-./static}:/static
11        - ${MEDIA_DIR-./media}:/media
12      expose:
13        - "${HOST_MACHINE_DJANGO_PORT}"
14      depends_on:
15        - db
16      networks:
17        djangoproject:
18          ipv4_address: 192.168.24.13
19  
20  
21    db:
22      build: ./bin/mysql
23      command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
24      container_name: '${DJANGO_PROJECT_NAME}-db'
25      ports:
26        - "${HOST_MACHINE_MYSQL_PORT}:3306"
27      environment:
28        MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
29        MYSQL_DATABASE: ${MYSQL_DATABASE}
30        MYSQL_USER: ${MYSQL_USER}
31        MYSQL_PASSWORD: ${MYSQL_PASSWORD}
32      volumes:
33        - ${MYSQL_DIR-./mysql}:/var/lib/mysql
34        - ${SQL_INITFILE-./sql}:/docker-entrypoint-initdb.d
35      networks:
36        djangoproject:
37          ipv4_address: 192.168.24.14
38  
39  
40    phpmyadmin:
41      image: phpmyadmin/phpmyadmin
42      container_name: '${DJANGO_PROJECT_NAME}-phpmyadmin'
43      links:
44        - db
45      environment:
46        PMA_HOST: database
47        PMA_PORT: 3306
48        PMA_USER: root
49      ports:
50        - '${HOST_MACHINE_PMA_PORT}:81'
51      volumes: 
52        - /sessions
53        - ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
54      networks:
55        djangoproject:
56            ipv4_address: 192.168.24.15
57  
58  
59    nginx:
60      image: nginx:1.13
61      container_name: '${DJANGO_PROJECT_NAME}-nginx'
62      ports:
63        - "${HOST_MACHINE_NGINX_UNSECURE_PORT}:8000"
64        - "${HOST_MACHINE_NGINX_SECURE_PORT}:443"
65      volumes:
66        - ${NGINX_CONFIG-./nginx/conf}:/etc/nginx/conf.d
67        - ${NGINX_UWSGIPARAMS-./nginx/uwsgi_params}:/etc/nginx/uwsgi_params
68        - ${STATIC_REF-./static}:/static
69        - ${MEDIA_REF-./media}:/media
70      depends_on:
71        - python
72      networks:
73        djangoproject:
74          ipv4_address: 192.168.24.16
75  
76  networks:
77    djangoproject:
78        ipam:
79            driver: default
80            config:
81                - subnet: 192.168.24.0/24