docker-compose自动化部署django项目
Dockerfile是为了自定义构建镜像
docker-compose.yml 可同时运行多个镜像,并且指定镜像间的相互依赖关系
安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装docker-compse
pip3 install docker-compose
删除容器
docker-compose rm -f
docker rmi image-id
create database django default charset=utf8;
构建一个Django的Dockerfile
FROM python:3.6
RUN apt-get install -y nginx
RUN pip3 install uwsgi
RUN pip install -r /config/requirement.txt
WORKDIR /src
构建一个web+mysql的docker-compose文件
version: '2'  
services:
  web:
    environment:
      - DJANGO_SETTINGS_MODULE=django.settings_docker
    restart: always
    build: .
    container_name: aqqzw_web
    command: bash -c "cd /root/django/ && python manage.py makemigrations && python manage.py migrate && uwsgi --ini ./docker/uwsgi.ini && /etc/init.d/nginx start && tail -f /var/log/nginx/error.log"
    depends_on:
      - db
    volumes:
      - /usr/local/django/:/root/django/
      - /usr/local/django.conf:/etc/nginx/conf.d/django.conf
    ports:
      - "8000:80"
    stdin_open: true
    tty: true
  db:
    image: mariadb:10.2
    container_name: mariadb
    command: --default-authentication-plugin=mysql_native_password
    ports:
      - "3306:3306"
    volumes:
      - ../my.cnf:/etc/mysql/my.cnf
      - /data/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_USER=root
      - MYSQL_DATABASE=django
运行docker-compse
docker-compose up
                    
                
                
            
        
浙公网安备 33010602011771号