首页 文章

CentOS 6.7防火墙后面的Docker连接问题

提问于
浏览
2

请忽略链接和URL中不正确的空格 . 我没有发布> 2个网址或2个链接所需的声誉 .

我有一个新的CentOS 6.7安装,如下面的uname -a命令所示:

Linux 2.6.32-573.7.1.el6.x86_64#1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

这台机器是企业防火墙的后面 .

我已经安装了docker-io . 版本信息是(docker version):

客户端版本:1.7.1客户端API版本:1.19 Go版本(客户端):go1.4.2 Git commit(客户端):786b29d / 1.7.1 OS / Arch(客户端):linux / amd64服务器版本:1.7.1服务器API版本:1.19 Go version(server):go1.4.2 Git commit(server):786b29d / 1.7.1 OS / Arch(server):linux / amd64

docker服务正在运行:

docker(pid 2593)正在运行......

当我运行sudo docker pull hello-world时我收到错误:获取https://index.docker.io/v1/repositories/library/hello-world/images:拨打tcp 54.165.23.153:443:连接超时

当我运行sudo docker run hello-world时,我得到一个类似的错误:获取https://index.docker.io/v1/repositories/library/hello-world/images:拨打tcp 52.7.162.45:443:连接超时

我可以浏览到Firefox中的URL https://index.docker.io/v1/repositories/library/hello-world/images(在我输入代理的用户ID /密码之后) . 我明白了:

[{ “校验和”: “”, “ID”: “3f12c794407e68e515ba7f473a744e748ac8a827a2ea8b33855dec564238b2e5”},{ “校验和”: “”, “ID”: “975b84d108f1024953937167506c2935a081c8c55ae9e9f7b7deee118605367f”},{ “校验和”: “”, “ID”: “535020c3e8add9d6bb06e5ac15a261e73d9b213d62fb2c14d752b8e189b2b912” },{ “校验和”: “”, “ID”: “af340544ed62de0680f441c71fa1a80cb084678fed42bae393e543faea3a572c”},{ “校验和”: “”, “ID”: “a8219747be10611d65b7c693f48e7222c0bf54b5df8467d3f99003611afa1fd8”},{ “校验和”: “”, “ID”:“91c95931e552b11604fea91c2f537284149ec32fff0f700a4769cfd31d7696ae “},{”checksum“:”“,”id“:”e45a5af57b00862e5ef5782a9925979a02ba2b12dff832fd0991335f4a11e5c5“},{”checksum“:”“,”id“:”31cbccb51277105ba3ae35ce33c22b69c9e3f1002e76e4c736a2e8ebff9d7b5d“},{”checksum“:”“,”id“:” ef872312fe1bbc5e05aae626791a47ee9b032efa8f3bda39cc0be7b56bfe59b9 “},{” 校验和 “: ”“, ”ID“: ”7fa0dcdc88de9c8a856f648c1f8e0cf8141a505bbddb7ecc0c61f1ed5e086852“},{” 校验和 “: ”“, ”ID“:” bf16b6e27882c0790071c95326e0186eccd2b8ac2bd5ef34fecdbb3 32a90926e“},{”checksum“:”“,”id“:”8f5550346e6173730dca712d1fc87e671ae04d5899d6c4290f7897c054b2318e“},{”checksum“:”“,”id“:”f86750113cd23609d504342d39015d5c7f218935b8420dd43b79cd99f4f93960“},{”checksum“:”“,”id“: “0a1b1cfaa9a2153fdabe163d562fe1321a5c1d1db3a59e0fac7c65f966bc38a9”},{ “校验和”: “”, “ID”: “511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158”},{ “校验和”: “”, “ID”: “2505d942a91db2045278f9d5c58067414d367c02506bbba96f0769a6ac6ad47b”},{ “校验和”: “”, “ID” :“565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1”}]

curl www.google.com和curl http://www.google.com正常工作 .

当我跑:curl -v https://index.docker.io:443

我得到以下内容:关于connect()到index.docker.io端口443(#0)尝试54.165.23.153 ...连接超时尝试54.84.122.145 ...连接超时尝试52.7.162.45 ...连接超时无法连接到主机关闭连接#0 curl:(7)无法连接到主机

我已经尝试了基于Stack Overflow上的另一个帖子在/ etc / default / docker文件中使用和不使用http_proxy和https_proxy信息的docker run和docker pull . 最初,在docker-io安装之后没有可用的/ etc / default / docker文件 . 这没有用 . / etc / default / docker文件的内容如下所示:http_proxy = http:// proxyName:port https_proxy = http:// proxyName:port

我也试过(在/ etc / default / docker文件中):export http_proxy = http:// proxyName:port export https_proxy = http:// proxyName:port

我今天一直在谷歌上搜索努力解决这个问题并且没有取得任何进展 .

1 回答

  • 1

    您的问题是您的公司防火墙 . 这可能无法解决,因为您的公司要求您使用用户名和密码登录 - 您可以使用firefox下载图像,我想这是使用LDAP或其他任何方式为您协商代理 .

    您可以尝试在shell中设置http_proxy和https_proxy变量,这些变量可能会起作用,具体取决于代理

    $ export http_proxy=http://server-ip:port/
    $ export http_proxy=http://127.0.0.1:3128/
    $ export http_proxy=http://proxy-server.mycorp.com:3128/
    

    http://www.cyberciti.biz/faq/linux-unix-set-proxy-environment-variable/

    您的公司很可能正在尽量减少任何行为不端的代码到达其网络内部不应该绕过它并与您的IT部门交谈

相关问题