简而言之 :如何在Mac OS X上为Docker设置HTTP / HTTPS代理?
详细说明 :
我在代理后面的Mac OS X上运行Docker(1.12)。我按照安装说明进行操作,并安装了boot2docker。如果我从网络内部Docker注册表中提取信息,则此方法工作正常。
但是,从docker.io拉出时出现以下错误:
machine:~ me$ docker run ubuntu echo hello world Unable to find image 'ubuntu' locally Pulling repository ubuntu 2014/06/30 13:23:26 Get https://index.docker.io/v1/repositories/ubuntu/images: dial tcp: lookup index.docker.io: no such host
注1 :DOCKER_HOST,http_proxy并https_proxy在环境中可用(运行env显示全部三个)。
DOCKER_HOST
http_proxy
https_proxy
env
注2 :我在其他帖子中读到,当守护程序无法正常运行时,会发生此错误。但是,docker version没有显示任何问题。此外,我可以拉出并运行从网络内部Docker注册表中拉出的映像。
docker version
注3 :我能够在Red Hat Linux(RHEL)上设置Docker 。我必须将代理信息添加到/etc/sysconfig/docker。我读到Ubuntu(/etc/init/docker.conf)上有一个类似的文件。但是,在Mac OS X上找不到用于Docker的文件(或boot2docker?)。
/etc/sysconfig/docker
/etc/init/docker.conf
您需要修改的配置文件将不在您的OS X文件系统上,它们将被附加到充当本地Docker服务器的Tiny Core Linux VM。
要为此配置代理,请首先从“应用程序”启动Boot2docker。启动后,获取一个终端窗口并SSH进入虚拟机:
bash-3.2$ boot2docker ssh Warning: Permanently added '[localhost]:2022' (RSA) to the list of known hosts. ## . ## ## ## == ## ## ## ## === /""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| boot2docker: 1.0.1 master : cad5ece - Fri Jun 20 02:03:40 UTC 2014 docker@boot2docker:~$
现在创建/修改/ var / lib / boot2docker / profile来设置代理信息:
docker@boot2docker:~$ sudo vi /var/lib/boot2docker/profile
Tinycore需要如下的代理信息:protocol:// ip:port 为安全起见,我同时设置了HTTP和HTTPS代理。
export HTTP_PROXY=http://your.proxy.name:8080 export HTTPS_PROXY=http://your.proxy.name:8080
现在,您可以重新启动VM docker服务并退出VM。
docker@boot2docker:~$ sudo /etc/init.d/docker restart docker@boot2docker:~$ exit Connection to localhost closed.
您现在应该能够对VM实例运行客户端。
bash-3.2$ docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Official Ubuntu base image 356 stackbrew/ubuntu Official Ubuntu base image 39 crashsystems/gitlab-docker A trusted, regularly updated build of GitL...
通过重新启动VM可以保留此更改。您只需要执行一次。
出于记录,VirtualBox为代理设置了全局首选项设置,但是我在那儿尝试的所有方法都没有用。