OStack程序员社区-中国程序员成长平台

标题: docker - 在Mac OS X上从boot2docker迁移到Vagrant + NFS的最快方法是什么? [打印本页]

作者: 菜鸟教程小白    时间: 2022-8-3 10:14
标题: docker - 在Mac OS X上从boot2docker迁移到Vagrant + NFS的最快方法是什么?

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

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

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

我为appcms都设置了容器链接,以启动并自动连接到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-推荐答案


更新[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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (http://ostack.cn/) Powered by Discuz! X3.4