简而言之:如何在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
Run Code Online (Sandbox Code Playgroud)
注1:DOCKER_HOST,http_proxy并https_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?)的文件.
我下载并安装了Docker for Windows 1.12.1,后者又安装了docker-machine和docker-compose.我没有安装"Docker Toolbox",因为它与安装的内容重复,我的系统符合要求.
一切似乎工作正常,除了docker-machine,我正在运行一个教程,当我运行各种docker-machine命令,如"ip"或"env"时,我得到以下消息.
Error: No machine name(s) specified and no "default" machine exists.
Run Code Online (Sandbox Code Playgroud)
因此,当我执行"docker-machine ls"时,即使我安装了Hyper-V docker机器并且docker命令工作正常,列表中也没有任何内容.
C:\tmp>docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
C:\tmp>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?我是否遗漏了文档中的内容?如果是这样,有人可以指出我正确的方向来解决这个问题吗?
谢谢你的帮助,
吉姆
我刚刚开始学习Docker,我正试图在Windows上使用boot2docker进行简单的设置.我无法在任何教程或在线示例中找到如何使我的项目文件可供boot2docker VM访问.
我下载了boot2docker,并成功安装并启动并运行.我也可以进入它并运行hello world docker示例,所以我知道我在VM中安装了一个Docker.
现在,问题是:如何Dockerfile在boot2docker VM上获取我和我的应用程序文件,以便构建Docker容器?
换句话说,我正在尝试从boot2docker VM执行此操作:
$ cd /some-directory-from-my-host-os
$ docker build .
Run Code Online (Sandbox Code Playgroud)
我尝试按照https://github.com/boot2docker/boot2docker#folder-sharing上的说明设置SAMBA共享,我可以成功地从Windows连接到共享,\\192.168.59.103\data但这并没有告诉我如何访问它boot2docker VM中的目录.
我觉得答案可能是显而易见的,但我确信我不是唯一会碰到那堵墙的人.谢谢你的帮助!
从boot2docker 1.3开始,添加了挂载共享文件夹的功能,因此VM可以直接共享您的dev文件夹.更多信息请访问:https://github.com/boot2docker/boot2docker#virtualbox-guest-additions
如何在我的Windows文件和docker容器之间共享文件夹,方法是--volume使用Docker Toolbox在简单的命令下安装卷?
我正在使用"Docker Quickstart终端",当我尝试这个时:
winpty docker run -it --rm --volume /C/Users/myuser:/myuser ubuntu
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
Invalid value "C:\\Users\\myuser\\:\\myuser" for flag --volume: bad mount mode specified : \myuser
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud)
在此之后,我也试过了
winpty docker run -it --rm --volume "//C/Users/myuser:/myuser" ubuntu
Run Code Online (Sandbox Code Playgroud)
得到了
Invalid value "\\\\C:\\Users\\myuser\\:\\myuser" for flag --volume: \myuser is not an absolute path
See 'docker run --help'.
Run Code Online (Sandbox Code Playgroud) 我在OSX上,我希望能够通过SSH连接到主机vm,以便:
要明确的是,这个问题不是关于ssh:进入Vagrant提供程序创建的docker容器,而是关于Vagrant创建的中间boot2docker主机vm.
我知道,一个解决方法是不使用默认的boot2docker作为主机VM(如答案解释这里),但这不是这个问题是关于什么的.
我在哪里可以在boot2docker机器上找到docker daemon配置文件?
根据这个话题:Dockerfile:Docker构建无法下载包:centos-> yum,debian/ubuntu-> apt-get在intranet后面
我想设置'--dns' DOCKER_OPTS,但我无法/etc/default在其他任何地方找到此配置文件.
假设我在OSX上的端口8000上运行了一个服务器.我的Docker容器如何通过它访问它localhost:8000?我也无法更改主机名,因为容器中的应用程序不在我的控制范围内.
我已经阅读了之前关于使用--net="host"容器访问主机网络的讨论.但是,我在OSX和Docker在VM中运行,所以来自Docker容器的localhost--net="host"转到VM而不是我的真机.
然后我尝试了端口转发解决方法:VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";无济于事.
任何建议将不胜感激.
我在Windows上运行Docker(boot2docker + Oracle Virtual Box).在我的公司环境中,他们修改证书,以便CA是公司的自签名CA. 因此,链条最终会像这样:
Company's CA
|__
Company's Intermediate CA
|__
Docker Certificate
Run Code Online (Sandbox Code Playgroud)
当我尝试运行任何命令时,例如:
docker run hello-world
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Get https://index.docker.io/v1/repositories/library/hello-world/images: x509: certificate signed by unknown authority
Run Code Online (Sandbox Code Playgroud)
我已经找到了这个问题的几个答案,但总是针对Linux环境.如何在Windows中解决此问题?
boot2docker与start|一起运行 info| stop| delete参数导致错误消息:
snowch$ boot2docker start
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker info
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker stop
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker delete
error in run: Failed to get machine "boot2docker-vm": machine does not exist
Run Code Online (Sandbox Code Playgroud)
该init错误是略有不同
snowch$ boot2docker init
error in run: Failed …Run Code Online (Sandbox Code Playgroud) 更新到Docker v1.7.0(以及boot2docker)后,运行时出现以下错误docker ps:
x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103
Run Code Online (Sandbox Code Playgroud)
这是这个版本的已知问题,我该怎么做才能解决这个问题?