Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die Verbindung zu einem Docker-Compose-Mysql-Container verweigert den Zugriff, aber Docker, auf dem dasselbe Image ausgeführt wird, nicht

Umgebungsvariablen in docker-compose.yml Datei sollte keine Anführungszeichen haben, wenn die Array-Definition verwendet wird:

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

Wenn Sie sie in Ihrer docker-compose.yml verwenden Datei:

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

und führe aus:

$ docker-compose up -d

und geben Sie running container:

ein
$ docker-compose exec db /bin/bash

Sie sehen die Ausgabe:

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