一尘不染

Docker / Boot2Docker:在OS X上为Docker设置HTTP / HTTPS代理

docker

简而言之 :如何在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

注1DOCKER_HOSThttp_proxyhttps_proxy在环境中可用(运行env显示全部三个)。

注2 :我在其他帖子中读到,当守护程序无法正常运行时,会发生此错误。但是,docker version没有显示任何问题。此外,我可以拉出并运行从网络内部Docker注册表中拉出的映像。

注3 :我能够在Red Hat
Linux
(RHEL)上设置Docker
。我必须将代理信息添加到/etc/sysconfig/docker。我读到Ubuntu(/etc/init/docker.conf)上有一个类似的文件。但是,在Mac
OS X上找不到用于Docker的文件(或boot2docker?)。


阅读 253

收藏
2020-06-17

共1个答案

一尘不染

您需要修改的配置文件将不在您的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为代理设置了全局首选项设置,但是我在那儿尝试的所有方法都没有用。

2020-06-17