Docker-composition: Base de données est initialisée
J'ai un problème avec docker-composer et mysql:
docker-composer.yml
version: '2'
services:
db:
image: mysql
volumes:
- "./sito/db/:/var/lib/mysql"
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD:
app:
depends_on:
- db
image: eboraas/apache-php
links:
- db
ports:
- "80:80"
volumes:
- ./sito/:/var/www/html/
Une erreur s'est produite lorsque je compose ce conteneur:
Recreating phpapp_phpapache_1
Attaching to phpapp_db_1, phpapp_phpapache_1
db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
phpapache_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.30.0.3. Set the 'ServerName' directive globally to suppress this message
phpapp_db_1 exited with code 1
db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
db_1 | error: database is uninitialized and password option is not specified
db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
db_1 | error: database is uninitialized and password option is not specified
Mais la base de données n'avez pas de mot de passe. Comment puis-je le résoudre?
Double Possible de docker, MYSQL_ROOT_PASSWORD ne fonctionne pas
OriginalL'auteur Stefano | 2016-09-24
Vous devez vous connecter pour publier un commentaire.
Selon la la documentation, au lieu de
MYSQL_ROOT_PASSWORD:
vous devez utiliser - et = et aussi, vous devez utiliser un mot de passeLe résultat, ce sera:
- MYSQL_ROOT_PASSWORD=some_password
Dans votre exemple:
OriginalL'auteur mayo
On dirait que vous êtes réglage de la
MYSQL_ROOT_PASSWORD
à rien. Pour la documentation, il est nécessaire.https://hub.docker.com/_/mysql/
docker run -e MYSQL_ROOT_PASSWORD=root
ne fonctionne pasIl ne fonctionne pas. Regardez la documentation officielle. Si vous exécutez
printenv
dans votre conteneur, vous devriez voir les variables d'environnement définies. hub.docker.com/_/mysqlOriginalL'auteur DevOps Dan
Le problème apparaît si vous ne spécifiez pas de valeur pour
MYSQL_ROOT_PASSWORD
(les autres cas expliqué ci-dessous).Vous pouvez utilisez la syntaxe ci-dessous:
Si vous souhaitez utiliser le vide/vide mot de passe puis utilisez la commande suivante:
Si vous souhaitez définir un mot de passe aléatoire puis utilisez la commande suivante:
Ensuite, vous pouvez obtenir le mot de passe généré à l'aide de
En fin de compte, vous devez spécifier UN de
MYSQL_ROOT_PASSWORD
,MYSQL_ALLOW_EMPTY_PASSWORD
etMYSQL_RANDOM_ROOT_PASSWORD
selon le point d'entrée de MySQL image:-z
est de vérifier que la variable n'est pas videOriginalL'auteur Mostafa Hussein