扩展mysql docker映像时的ENOTFOUND

时间:2018-06-26 10:19:00

标签: mysql docker dockerfile gitlab-ci

我创建了以下dockerfile

FROM mysql:8.0
CMD ["mysqld", "--default-authentication-plugin=mysql_native_password"]

但是,当我在运行后尝试连接到它时,我在节点应用程序中得到了以下信息

  

错误:getaddrinfo ENOTFOUND mysql mysql:3306

我在dockerfile中做错了吗?我只想在运行该图像时始终添加该参数。使用不支持通过其接口传递命令参数的Gitlab CI,也不能直接使用docker run命令。

1 个答案:

答案 0 :(得分:0)

发现我的问题,与gitlab CI有关,而不与docker有关。

我将映像标记为mysql-native-auth,这意味着在gitlab CI中指定要连接的主机时,您必须使用mysql-native-auth而不是mysql,因为服务的映像名称显然是确定这一点(除非您指定别名)

文档:https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services

services:
- tutum/wordpress:latest
     

如果未指定服务别名,则在运行作业时,将启动tutum / wordpress,您将可以从构建容器中使用以下两个主机名访问它:

     
      
  • tutum-wordpress
  •   
  • tutum__wordpress
  •