我有一个从官方mysql docker pull mysql 构建的数据库容器。
我有一个用Cake构建的前端应用程序app 。
我有一个用Symfony构建的后端应用程序cms 。
我为app 和cms 都设置了容器链接,以启动并自动连接到db 。
一切都很好,但是使用boot2docker super 慢。
我一直在尝试了解如何在NFS中使用Vagrant。
在线上有一些不同的教程和示例,但是到目前为止,我仍然无法继续。我已经安装了最新的Vagrant并使用了示例yungsang/boot2docker ,但是当我尝试最简单的命令docker images 时,却不断收到类似于FATA[0000] An error occurred trying to connect: Get https://localhost:2375/v1.16/images/json: tls: oversized record received with length 20527. 的错误
我发现,如果将vagrant ssh 放入虚拟机,则可以运行docker images 等,但这不是我想要的;我习惯直接从Mac OS X终端运行docker命令。很明显,我误解了一些东西。此外,Vagrant博客上的教程使用rsync 和--provider=docker ,似乎也不需要使用yungsang/boot2docker vagrant框。
我会为您提供一些指导而感到感激,并觉得我在此方面已经用尽了Google搜索功能。
引用:
https://www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html https://github.com/boot2docker/boot2docker/issues/64 https://vagrantcloud.com/yungsang/boxes/boot2docker
Best Answer-推荐答案 strong>
更新[2015-02-11]
为了回答更广泛的问题(标题中的问题),我在Github上创建了一个带Vagrantfile的存储库,使您可以快速轻松地从Mac上的Vagrant + Docker + NFS开始。
https://github.com/blinkreaction/boot2docker-vagrant
解决“tls:收到超大记录”问题的原始答案[2015-02-10]
问题
检查您的环境变量。您很可能在其中混合了boot2docker shellinit 和自定义的DOCKER_HOST 变量。例如。:
$ env|grep DOCKER
DOCKER_HOST=tcp://localhost:2375
DOCKER_CERT_PATH=/Users/<user>/.boot2docker/certs/boot2docker-vm
DOCKER_TLS_VERIFY=1
您到达此处的原因是,首先$(boot2docker shellinit) 导出了类似这样的内容,以将Docker客户端指向boot2docker VM:
DOCKER_HOST=tcp://192.168.59.103:2376
DOCKER_CERT_PATH=/Users/<user>/.boot2docker/certs/boot2docker-vm
DOCKER_TLS_VERIFY=1
然后您将docker客户端指向带有以下内容的自定义VM映射端口:
export DOCKER_HOST=tcp://localhost:2375
怎么修
短期
unset DOCKER_TLS_VERIFY 长期
摆脱掉$(boot2docker shellinit) ,.bashrc 等文件中的.zshrc ,并在需要时手动执行它,或者在其中按以下顺序进行操作:
# Docker (default for Vagrant based boxes)
export DOCKER_HOST=tcp://localhost:2375
# boot2docker shellinit
$(boot2docker shellinit)
这样,如果boot2docker未运行,则您的DOCKER_HOST 将默认为tcp://localhost:2375 。 否则,$(boot2docker shellinit) 将覆盖变量,并将DOCKER_HOST 设置为指向boot2docker VM。
关于docker - 在Mac OS X上从boot2docker迁移到Vagrant + NFS的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28421391/
|