docker - github 操作 - 无法连接到 mysql
问题描述
所以我正在尝试使用 github 操作设置 laravel ci 服务器。而且,我正在edbizarro/gitlab-ci-pipeline-php:7.3
用作我的容器,并且我使用官方 mariadb docker 作为 mysql 服务。:
services:
mysql:
image: mariadb:10.3
env:
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
ports:
- 13306:3306
...
我正在尝试运行,运行 mysql 命令导入数据库:
- name: Setting Up DB
run: |
mysql -Tv -h mysql -P 13306 --protocol=tcp -u root -proot < ./storage/test.sql
以下是我所做的几次尝试:
| host | error message |
|--------------------|------------------------------------------------------------------------|
| mysql,"${DB_HOST}" | ERROR 2005 (HY000): Unknown MySQL server host 'mysql' (-2) |
| 0.0.0.0 | ERROR 2002 (HY000): Can't connect to MySQL server on '0.0.0.0' (115) |
| 127.0.0.1 | ERROR 2002 (HY000): Can't connect to MySQL server on '127.0.0.1' (115) |
| (without host) | ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (99) |
不知道我还能在这里做什么......
这是我也尝试过的,都告诉我该选项不存在:
services:
mysql:
image: mariadb:10.3
options: --bind_address=""
env:
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
ports:
- 13306:3306
我尝试了选项:
--disable_bind_address
--bind-address=""
以下是我从 github 获得的一些日志消息:(-Tv 没有提供任何有用的信息)
docker.io/library/mariadb:10.3
/usr/bin/docker create --name 607ae471e5844570b9e2fcf4f57ed78a_mariadb103_d94369 --label 2b5be7 --workdir /__w/laravel/laravel --network github_network_ab8a7ba8c1624f95bdc2784147b4b5e1 --network-alias mysql -p 13306:3306 -e "MYSQL_USER=root" -e "MYSQL_PASSWORD=root" -e "MYSQL_ROOT_PASSWORD=root" -e "HOME=/github/home" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.157.3/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" mariadb:10.3
c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3
/usr/bin/docker start c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3
c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3
/usr/bin/docker ps --all --filter id=c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3 Up Less than a second
/usr/bin/docker port c3b10a5c4799a671f55c2f2b7a33803abd9228830be5e8821b51f10a2b2951b3
3306/tcp -> 0.0.0.0:13306
解决方案
也许试试这样:
mysql:
image: mariadb:10.3
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
有一个健康检查,以确保服务在连接之前是健康的
推荐阅读
- excel - 在excel VBA中,如何根据另一列中的值变化将一列中的数字增加一
- c++ - 为什么在多文件中使用类声明朋友功能时出现错误类未定义?
- c++ - 无法在结构中定义 3D 向量
- c# - Linux上的ASP.NET Core 2.2项目找不到卫星资源
- java - Google Directory API 仅针对 ADMIN_DIRECTORY_ORGUNIT 提供带有服务帐户的 401
- powershell - 如何从 PowerShell 中的可执行文件中读取标准输出(UTF-8)作为字符串?
- android - OSX - Android Emulator 由于内部错误而关闭:
- dictionary - 带有 tmap 的构面图
- amazon-web-services - 如何使用文件夹的最后修改日期将文件上传到 S3?
- sql - Presto:从可变长度数组中删除最后一个元素