Docker链接适用于一台主机但不适用于另一台主机

时间:2016-12-08 09:42:28

标签: jenkins docker

我有两个docker主机,一个用于生产,一个用于分段。据我所知,它们是完全一样的。他们运行相同的操作系统(Ubuntu)和相同的Docker版本。我通过Jenkins运行一个工作,它使用Docker中的链接功能。

在暂存时,它完全可以正常工作,但在生产时,如果失败则使用完全相同的命令。他们都使用相同的注册表。

这些命令(为隐私而稍作修改)

docker run --detach --name bymysql --env=MYSQL_ROOT_PASSWORD=password dockerdistro-staging:5000/mysql
docker run --link=bymysql -v /home/jenkins/data:/data dockerdistro-staging:5000/custom-container /command/we/run

使用暂存版本一切正常但是生产版本我得到以下错误,由我们自己的代码生成,该代码在标准端口上查找一个名为bymysql的mysql服务器。

mysqladmin: connect to server at 'bymysql' failed
error: 'Can't connect to MySQL server on 'bymysql' (111)'
Check that mysqld is running on bymysql and that the port is 3306.

鉴于它在登台时工作正常,我认为命令很好,并且与主机的配置存在某种差异。但我不知道什么会阻止链接功能工作。

奇怪的是,如果我手动在生产盒上运行相同的步骤,而不是通过Jenkins,它也适用于生产!

docker版本的输出(两者都相同)

Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64

docker network inspect的输出

0 个答案:

没有答案