• docker compose


    1

    I'm trying to create a docker environment for my django project

    my dockerfile :

     FROM python:3
     ENV PYTHONUNBUFFERED=1
     RUN apt-get install default-libmysqlclient-dev
     RUN mkdir /config  
     ADD /config/requirements.txt /config/  
     RUN pip install -r /config/requirements.txt
     RUN mkdir /src
     WORKDIR /src
    

    my docker-compose :

     version: '3'
    
    services:
       db:
         image: mysql
         environment:
           MYSQL_ROOT_PASSWORD: root
           MYSQL_USER: root
           MYSQL_PASSWORD: root
           MYSQL_DATABASE: ProjetDjango
         container_name: mysql01
         restart: always
       nginx:
         image: nginx:1.13-alpine
         container_name: nginx01
         ports:
           - "8000:8000"
         volumes:
           - ./project:/src
           - ./config/nginx:/etc/nginx/conf.d
         depends_on:
           - web
       web:
         build: .
         container_name: django01
         command: bash -c "python3 manage.py makemigrations && python3 manage.py migrate && python3 manage.py collectstatic --noinput && gunicorn hello_django.wsgi -b 0.0.0.0:8000"
         depends_on:
           - db
         volumes:
           - ./project:/src
         expose:
           - "8000"
         restart: always
    

    my settings.py :

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'ProjetDjango',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1', 
        'PORT': '3306',
     }
    }
    

    I've got this error while running : docker-compose up

    When you link your db service to your web service in docker so you must use your db service name instead of your database server ip for connecting database :

    db:
        image: mysql
        restart: unless-stopped
        container_name: db_of_my_project
    
    web:
        build: .
        container_name: django01
        command: ...
        links:
            - db
        volumes:
            - ./project:/src
        expose:
            - "8000"
        restart: always
  • 相关阅读:
    用SNMP协议实现系统信息监控--Windows Server 2008
    Apache与Tomcat区别联系
    Oracle数据库的创建与验证
    oracle监听服务开启
    【VS Code 开发工具】在VS Code中使用Markdown语法
    【SQLServer数据库】SQLServer分库分表
    【SQLServer数据库】SQLServer死锁与优化
    【SQLServer数据库】SQLServer悲观锁和乐观锁
    【HTTP】HTTP Body
    【SQLServer数据库】SQLServer视图
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/14924311.html
Copyright © 2020-2023  润新知