我在 Cirrus CI 上运行一个容器,在我的 中.cirrus.yml
,我定义了一个additional_container
运行 MySQL 实例以根据文档进行测试:
.cirrus.yml
container:
image: node:latest
additional_containers:
- name: mysql
image: mysql:8
port: 3306
cpu: 1.0
memory: 512Mi
env:
MYSQL_ROOT_PASSWORD: "pa55w0rd"
我正在尝试在CREATE DATABASE
我的一项设置任务中针对该实例运行命令:
...
mysql_setup_script:
- mysql -uroot -ppa55w0rd -P3306 -hlocalhost -e "CREATE DATABASE voluble_test;"
...
我已经在我的测试容器上安装了 MySQL 客户端(但没有安装服务器,因为这会破坏对象)。然而,MySQL 就好像它正在连接到一个真正的localhost 数据库并寻找一个本地安装的 MySQL 服务器,它出现了 - 并且失败并出现以下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
也就是说,Cirrus CI文档声明 MySQL 实例应该在 localhost 上可用:
测试将能够通过 localhost:3306 访问 MySQL 实例。
我看不到明显的解决方法-有什么建议吗?