当前位置: 首页 > 面试题库 >

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

有宏邈
2023-03-14
问题内容

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


问题答案:

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



 类似资料:
  • 问题内容: 我想在Mac OS X上的docker中运行Django应用。我已使用该教程安装了docker 。 我参考docker -library中的Django文档来构建映像https://github.com/docker- library/docs/tree/master/django ,我将Dockerfile添加到新的Django项目文件夹中 问题是我构建了映像并成功运行了容器,但是每

  • docker-osx 可以让你轻松的在 OS X 中安装 Docker 系统。

  • 问题内容: 我正在OSX上尝试使用docker beta,主要用于Symfony开发,但是挂载的速度非常慢。即使对于香草Symfony项目,页面加载时间也只有6秒。难以忍受!有没有人找到解决此问题的方法?试图摆脱无业游民,但我只是找不到任何合理的方法来使用docker。 问题答案: 显然,目前有一种解决方法: https://forums.docker.com/t/file-access-in-m

  • 问题内容: 在任何地方都找不到答案…我使用docker-machine创建了一个VM(boot2docker)。我需要使用root编辑一些文件。 boot2docker中的root密码是什么? 问题答案: 如果只有一台docker机器,则只需执行以下操作: 如果您有多台计算机,则需要首先找到“计算机名称”: 从上面可以看到, 默认 名称是计算机的名称,并且可以按以下方式使用ssh: 当您进入时,这

  • 问题内容: 当前,我通过使用以下文件运行一个简单的Docker容器。 Docker文件 docker-compose.yml docker-compose.override.yml 我使用Windows映像通过以下命令创建容器,并且可以通过http:// localhost:9091 / 访问它。 我想使用HTTPS而非http访问我的应用程序。 我需要遵循哪些步骤? 问题答案: 您需要配置Web

  • 我最近读了很多关于Docker的书,我甚至试着在我的笔记本电脑上用Vagrant来运行它。但我仍然不清楚为什么,特别是如何向我的团队介绍它。只是我没有看到用例。 我知道您可以为web服务器和DB创建容器。所以大家可以说,嘿,伙计们,现在我们使用的是我创建的Custom-Tomcat-1和Custom-Mysql-1容器。到目前为止还很清楚。我遇到的问题是那些“数据容器”。 我仍然可以理解,我将拥有