Mysql
 sql >> Base de données >  >> RDS >> Mysql

Lier les conteneurs django et mysql à l'aide de docker-compose

Dans Django settings.py Assurez-vous d'avoir quelque chose comme :

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

puis dans votre docker-compose.yml Assurez-vous d'avoir quelque chose comme :

db:
  image: mysql
  environment:
    MYSQL_ROOT_PASSWORD: docker
    MYSQL_DATABASE: docker
    MYSQL_USER: docker
    MYSQL_PASSWORD: docker

puis selon le tutoriel docker/django que vous suivez, exécutez à nouveau ce qui suit pour tout reconstruire et les choses devraient commencer à fonctionner

docker-compose run web django-admin.py startproject composeexample .

En réponse à une autre question, la variable mysql root password est requise par docker lors de la création de nouvelles bases de données.

EDIT :ajout de run à docker-compose au dessus de; voir modifier le commentaire