为什么我不能使用 5.7 或 5.6 mysql docker 图像而不是 mysql 8 with terraform in windows?
Why I can not use a 5.7 nor a 5.6 mysql docker image instead of mysql 8 with terraform in windows?
我正在 docker_container.mysql
中使用 terraform 在 windows 中测试 mysql_database
,但每次我尝试在 [=] 中使用不同于 mysql:8
的图像19=] 由 docker_container.mysql
使用,terraform 需要 5 分钟来创建 mysql_database
资源并抛出以下错误:
Error: Could not connect to server: dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target machine actively refused it.
on main.tf line 33, in resource "mysql_database" "test":
33: resource "mysql_database" "test" {
这里是 main.tf:
provider "docker" {
host = "npipe:////.//pipe//docker_engine"
}
resource "docker_image" "mysql" {
name = "mysql:8"
//keep_locally = true
}
resource "docker_container" "mysql" {
name = "mysql"
image = docker_image.mysql.latest
restart = "always"
env = [
"MYSQL_ROOT_PASSWORD=root"
]
volumes {
volume_name = "mysql-vol"
container_path = "/var/lib/mysql"
}
ports {
internal = 3306
external = 3306
}
}
provider "mysql" {
endpoint = "127.0.0.1:3306"
username = "root"
password = "root"
}
resource "mysql_database" "test" {
name = "test"
depends_on = [docker_container.mysql]
}
我正在测试 https://hub.docker.com/_/mysql 中显示的 mysql 图片标签,特别是 5.6、5.7 和 8,但仅使用 mysql:8 似乎有效 我应该使用其他方法吗参考那些 mysql 图片标签?
我试图验证这个问题,当你保持相同的 volumes
.
时,我发现只有 mysql 5.7 和 5.6 的错误与你的错误相同
从 terraform 脚本中删除以下部分后
volumes {
volume_name = "mysql-vol"
container_path = "/var/lib/mysql"
}
和删除现有mysqldocker图像,mysql5.6、mysql5.7和8按预期工作。
顺便说一句,导致连接失败的错误是:
ERROR 2013 (HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11
我正在 docker_container.mysql
中使用 terraform 在 windows 中测试 mysql_database
,但每次我尝试在 [=] 中使用不同于 mysql:8
的图像19=] 由 docker_container.mysql
使用,terraform 需要 5 分钟来创建 mysql_database
资源并抛出以下错误:
Error: Could not connect to server: dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target machine actively refused it.
on main.tf line 33, in resource "mysql_database" "test":
33: resource "mysql_database" "test" {
这里是 main.tf:
provider "docker" {
host = "npipe:////.//pipe//docker_engine"
}
resource "docker_image" "mysql" {
name = "mysql:8"
//keep_locally = true
}
resource "docker_container" "mysql" {
name = "mysql"
image = docker_image.mysql.latest
restart = "always"
env = [
"MYSQL_ROOT_PASSWORD=root"
]
volumes {
volume_name = "mysql-vol"
container_path = "/var/lib/mysql"
}
ports {
internal = 3306
external = 3306
}
}
provider "mysql" {
endpoint = "127.0.0.1:3306"
username = "root"
password = "root"
}
resource "mysql_database" "test" {
name = "test"
depends_on = [docker_container.mysql]
}
我正在测试 https://hub.docker.com/_/mysql 中显示的 mysql 图片标签,特别是 5.6、5.7 和 8,但仅使用 mysql:8 似乎有效 我应该使用其他方法吗参考那些 mysql 图片标签?
我试图验证这个问题,当你保持相同的 volumes
.
从 terraform 脚本中删除以下部分后
volumes {
volume_name = "mysql-vol"
container_path = "/var/lib/mysql"
}
和删除现有mysqldocker图像,mysql5.6、mysql5.7和8按预期工作。
顺便说一句,导致连接失败的错误是:
ERROR 2013 (HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11