gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:34:00 25 4
gpt4 key购买 nike

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

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

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

我为 appcms 设置了容器链接,以启动并自动连接到 db

一切都很好,但使用 boot2docker 非常慢。

我一直在尝试了解如何将 Vagrant 与 NFS 一起使用。

网上有一些不同的教程和示例,但到目前为止我一直无法开始。我已经安装了最新的 Vagrant 并使用了示例 yungsang/boot2docker 但是当我尝试最简单的命令 docker images 时,我不断收到类似 FATA[0000] An error尝试连接时发生:Get https://localhost:2375/v1.16/images/json: tls: oversized record received with length 20527.

我发现如果我 vagrant ssh 进入 VM,我可以运行 docker images 等,但这不是我想要的;我习惯于直接从 Mac OS X 终端运行 docker 命令。很明显我误解了一些东西。此外,Vagrant 博客上的教程使用 rsync--provider=docker 似乎也不需要使用 yungsang/boot2docker vagrant box。

如果能得到一些指导,我将不胜感激,我觉得我在这方面已经用尽了我的 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 的存储库,它可以让您在 MacOS 上快速轻松地开始使用 Vagrant+Docker+NFS。

https://github.com/blinkreaction/boot2docker-vagrant


“tls: oversized record received”问题的原始答案 [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 虚拟机:

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

如何解决

短期

取消设置 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 虚拟机。

关于docker - 在 Mac OS X 上从 boot2docker 迁移到 Vagrant+NFS 的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com