Я запускаю контейнер на 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 действует так, как если бы он подключался к true localhost DB и ищет локально установленный сервер 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 docs заявляет, что экземпляр MySQL должен быть доступен на localhost:
Тесты смогут получить доступ к экземпляру MySQL через localhost : 3306.
Я не вижу очевидного пути решения этой проблемы - любой совет?