在Mac OS X上从boot2docker迁移到Vagrant NFS的最快方法是什么?

前端之家收集整理的这篇文章主要介绍了在Mac OS X上从boot2docker迁移到Vagrant NFS的最快方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个从官方mysql docker pull MysqL构建的数据库容器.

我有一个用Cake构建的前端应用程序应用程序.

我有一个用Symfony构建的后端应用程序cms.

我为app和cms设置了容器链接,以启动并自动连接到db.

一切都很好但是boot2docker的速度非常慢.

我一直在努力了解如何在NFS中使用Vagrant.

网上有一些不同的教程和例子,但到目前为止我一直无法上手.我已经安装了最新的Vagrant并使用了示例yungsang / boot2docker但是当我尝试最简单的命令docker镜像时,我不断收到FATA等错误[0000]尝试连接时出错:Get https:// localhost:2375 / v1.16 / images / json:tls:收到超长记录,长度为20527.

我发现如果我流入虚拟机,我可以运行docker图像等,但这不是我想要的;我习惯直接从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

更新[2015-02-11]

为了回答更广泛的问题(标题中的那个),我在Github上创建了一个带有Vagrantfile的repo,它可以让你快速轻松地在MacOS上开始使用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/

你到这里的原因是首先$(boot2docker shellinit)导出类似这样的东西将docker客户端指向boot2docker VM:

DOCKER_HOST=tcp://192.168.59.103:2376
DOCKER_CERT_PATH=/Users/

然后,您将docker客户端指向自定义VM映射端口

export DOCKER_HOST=tcp://localhost:2375

怎么修

短期

取消设置DOCKER_TLS_VERIFY

长期

要么删除.bashrc,.zshrc等文件中的$(boot2docker shellinit)并在需要时手动执行它,或者按照以下顺序执行:

# 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相关文章