Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从docker中的docker登录到私有docker注册表时出现服务器错误_Docker_Boot2docker_Docker Registry - Fatal编程技术网

从docker中的docker登录到私有docker注册表时出现服务器错误

从docker中的docker登录到私有docker注册表时出现服务器错误,docker,boot2docker,docker-registry,Docker,Boot2docker,Docker Registry,我正在使用boot2docker和docker 1.4.1,我正在运行一个Jenkins容器,该容器也将docker作为主机运行(也是版本1.4.1)。但是,当我尝试使用以下方式登录到我的私人Docker注册表时: sudo docker login -u=username -p=**** -e=my@email.com tutum.co 我最终出现以下错误: Server Error: Post https://tutum.co/v1/users/: dial tcp: lookup tut

我正在使用boot2docker和docker 1.4.1,我正在运行一个Jenkins容器,该容器也将docker作为主机运行(也是版本1.4.1)。但是,当我尝试使用以下方式登录到我的私人Docker注册表时:

sudo docker login -u=username -p=**** -e=my@email.com tutum.co
我最终出现以下错误:

Server Error: Post https://tutum.co/v1/users/: dial tcp: lookup tutum.co on [192.168.1.1]:53
如果我从Jenkins容器外部登录,一切正常。原因是什么?我该如何解决

更新:

如果我停止Jenkins容器内的Docker服务(
sudo service Docker stop
),并使用以下命令启动它:

sudo docker -d &
我得到了一些更详细的信息:

INFO[0003] POST /v1.16/auth
INFO[0003] +job auth()
Get https://tutum.co/v1/_ping: dial tcp: lookup tutum.co on [192.168.1.1]:53: no such host
INFO[0005] -job auth() = ERR (1)
ERRO[0005] Handler for POST /auth returned error: Get https://tutum.co/v1/_ping: dial tcp: lookup tutum.co on [192.168.1.1]:53: no such host
ERRO[0005] HTTP Error: statusCode=404 Get https://tutum.co/v1/_ping: dial tcp: lookup tutum.co on [192.168.1.1]:53: no such host
FATA[0001] Error response from daemon: Get https://tutum.co/v1/_ping: dial tcp: lookup tutum.co on [192.168.1.1]:53: no such host

正如哈维尔暗示的那样,我通过改变DNS服务器解决了这个问题。Docker使用
/etc/resolv.conf
中指定的DNS服务器,该服务器指向
192.168.1.1
。我更改了这个
8.8.8.8
,之后我就可以登录了

更新:

今天我试图覆盖
Dockerfile
中的
/etc/resolv.conf
文件,但结果是Docker在容器启动时设置了DNS。这意味着我从
Dockerfile
添加的文件
resolv.conf
被覆盖。解决方案是在容器启动时添加
--dns 8.8.8.8
。比如说

docker run --dns 8.8.8.8 ubuntu:14.04 <some_command>
docker运行——dns 8.8.8.8 ubuntu:14.04

从docker容器(Jenkins)内部可以访问tutum.co(ping/telnet/dnslookup…)。似乎有一些DNS问题。我不能从容器内部或外部“ping tutum.co”。我可以“ping www.tutum.co”,虽然从容器内部和外部都可以。