boot2docker / docker-machine / Docker Toolbox 上的 Docker 守护进程配置文件
Posted
技术标签:
【中文标题】boot2docker / docker-machine / Docker Toolbox 上的 Docker 守护进程配置文件【英文标题】:Docker daemon config file on boot2docker / docker-machine / Docker Toolbox 【发布时间】:2014-12-12 23:55:32 【问题描述】:我在哪里可以找到 boot2docker 机器上的 docker daemon 配置文件?
根据本主题:Dockerfile: Docker build can't download packages: centos->yum, debian/ubuntu->apt-get behind intranet
我想在DOCKER_OPTS
中设置“--dns”,但在/etc/default
或其他任何地方都找不到此配置文件。
【问题讨论】:
你好@anaid。我们解决了您的问题吗?如果是,请标记正确答案。如果没有,我们可以如何帮助您? 【参考方案1】:在 boot2docker (boot2docker ssh
) / docker-machine (docker-machine ssh default
) 中,打开或创建文件 /var/lib/boot2docker/profile 并添加以下行:
EXTRA_ARGS="--dns 192.168.1.145"
也适用于:
EXTRA_ARGS="--insecure-registry myinternaldocker"
修改后需要重启docker守护进程:
sudo /etc/init.d/docker restart
或者离开boot2docker/docker-machine,重启整个虚拟机:
boot2docker restart
# for docker machine
docker-machine restart default
信息来自:https://groups.google.com/d/msg/docker-user/04pAX57WQ7g/_LI-z8iknxYJ
【讨论】:
该链接指向:github.com/boot2docker/boot2docker/blob/master/doc/FAQ.md 这可行,但我必须运行“boot2docker down; boot2docker up”才能使更改生效 @David 您也可以使用“sudo /etc/init.d/docker restart”,而且速度更快。我会把它添加到答案中【参考方案2】:如果您使用的是 mac,则必须转到新终端并运行:
boot2docker ssh
这将打开一个新终端,您必须从那里编辑或创建文件
sudo vi /var/lib/boot2docker/profile
并添加您要添加的 DNS,例如:
DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4"
之后,您需要重新启动 boot2docker。在这里,我一开始遇到了一些问题,所以我关闭了所有内容并在终端中运行:
boot2docker down
boot2docker up
你也可以使用:
boot2docker restart
我不得不做两次。之后,我再次使用正常的 boot2docker 图标开始,一切正常。
【讨论】:
【参考方案3】:如果你想编写脚本,你可以在一条丑陋的线路上完成这些步骤:
boot2docker ssh 'sudo sh -c "echo \"EXTRA_ARGS=\\\"--dns 1.2.3.4\\\"\" > /var/lib/boot2docker/profile && sudo /etc/init.d/docker restart"'
【讨论】:
以上是关于boot2docker / docker-machine / Docker Toolbox 上的 Docker 守护进程配置文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OSX(boot2docker)上获得与 docker 容器的 ssh 连接
如何在 Kitematic Boot2docker linux 上安装东西?
使用 boot2docker 从主机共享代码目录不会在来宾上调用 inotify
Docker - 为啥这个 express.js 容器带有暴露/发布的端口拒绝连接? (使用 boot2docker)
boot2docker / docker-machine / Docker Toolbox 上的 Docker 守护进程配置文件