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

la connexion à un conteneur mysql docker-compose refuse l'accès mais docker exécutant la même image ne le fait pas

Variables d'environnement dans docker-compose.yml le fichier ne doit pas avoir de guillemets lors de l'utilisation de la définition de tableau :

db:
  image: mysql:5.7
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=secret
    - MYSQL_USER=django
    - MYSQL_PASSWORD=secret
    - MYSQL_DATABASE=myAppDB

Si vous les utilisez dans votre docker-compose.yml fichier :

db:
  image: mysql:5.7
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ROOT_PASSWORD="secret"
    - MYSQL_USER="django"
    - MYSQL_PASSWORD="secret"
    - MYSQL_DATABASE="myAppDB"

et lancez :

$ docker-compose up -d

et entrez le conteneur en cours d'exécution :

$ docker-compose exec db /bin/bash

vous verrez la sortie :

[email protected]:/# echo $MYSQL_ROOT_PASSWORD                                                                                                                                              
"secret"