Я пытаюсь создать мульти-контейнерное развертывание Docker WordPress на Beanstalk, запустив файл Dockerrun.aws.json из интерфейса командной строки EB. Вот мой Dockerrun:
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "mariadb",
"image": "mariadb:latest",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 3306,
"containerPort": 3306
}
],
"environment": [
{
"name": "MYSQL_USERNAME",
"value": "root"
},
{
"name": "MYSQL_PASSWORD",
"value": "password"
},
{
"name": "MYSQL_DB_NAME",
"value": "wordpress"
}
]
},
{
"name": "wordpress",
"image": "wordpress",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
],
"links": [
"mariadb"
],
"environment": [
{
"name": "MYSQL_ROOT_PASSWORD",
"value": "password"
}
]
}
]
}
Среда Beanstalk запускается правильно, и я могу перейти к конечной точке и начать настройку WordPress, но она никогда не подключается к MariaDB. Когда я подключаюсь к экземпляру хоста по SSH, я вижу, что контейнеры WordPress и MariaDB запускаются снова и снова - и не работают. На хосте есть несколько файлов журнала mariadb- * в / var / log / container / со следующим текстом:
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD,
MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
Я предполагаю, что пароль не проходит. Есть идеи, почему бы и нет? Спасибо
Решение было простым. Синтаксис, который я использовал, был неправильным. Изначально я использовал:
"name": "MYSQL_DB_NAME"
Но должно было быть:
"name": "MYSQL_DATABASE"