Virtual machine Vagrant和/或Docker工作流与完整的OS X文件系统集成,实现无缝本地体验?
最近我一直在涉猎Virtual machine Vagrant和/或Docker工作流与完整的OS X文件系统集成,实现无缝本地体验?,virtual-machine,vagrant,development-environment,docker,boot2docker,Virtual Machine,Vagrant,Development Environment,Docker,Boot2docker,最近我一直在涉猎vagrant和docker。这些都是非常有趣的工具,但我还没能说服自己,在我的OSX机器上,这是一条非常可行的道路。作为一个老Unix帽,我不得不说我喜欢有一个用于开发目的的整合和沙盒环境 我看到了很多聊天,很多朋友都在使用vagrant和just stockvim进行编辑。我并不真正喜欢这种方法,可能更喜欢使用vm提供商的共享机制,或者更可能是NFS 就个人而言,我希望能够直接在TextMate、SublimiteText、Emacs(在OS X上)中进行编辑,甚至可能使用R
vagrant
和docker
。这些都是非常有趣的工具,但我还没能说服自己,在我的OSX机器上,这是一条非常可行的道路。作为一个老Unix帽,我不得不说我喜欢有一个用于开发目的的整合和沙盒环境
我看到了很多聊天,很多朋友都在使用vagrant
和just stockvim
进行编辑。我并不真正喜欢这种方法,可能更喜欢使用vm提供商的共享机制,或者更可能是NFS
就个人而言,我希望能够直接在TextMate、SublimiteText、Emacs(在OS X上)中进行编辑,甚至可能使用RubyMine及其各种IDE功能,等等
是否有任何方法可以真正让工作流停止工作,从而使这样的环境本质上类似于在本地环境中工作,而无需拉动大量额外的背景字符串来完成工作
我想一些位置合适的脚本可能会有很大帮助,但我还没有找到任何可靠的答案来真正实现无缝环境。对我来说,真正有效的方法是使用它来轻松安装一个轻量级虚拟机(带有VirtualBox),它将托管docker deamon和图像。要运行docker命令,您只需在打开新终端时运行$(boot2docker shellinit) 如果您还需要将文件放在OSX文件夹中,并与正在运行的docker映像共享,则需要进行一些额外的设置,但一旦这样做,您就不必再这样做了。 看一看关于如何做的精彩演练。简而言之,这些步骤是:
- 获取一个特殊的boot2docker映像,该映像允许您为VirtualBox使用共享文件夹
- 将VirtualBox配置为共享文件夹:
这将与托管docker的boot2docker映像共享您的/Users文件夹VBoxManage sharedfolder添加boot2docker vm-name home-hostpath/Users
- 从Mac将所需文件夹与docker映像中的文件夹共享,如:
docker run-it-v/Users/me/dev/my project:/root/src:rw ubuntu/bin/bash
boot2dockerip
并访问该ip
希望有帮助 Docker并不是真正用于那个用例的,尽管它可以调整以适应开发环境。我建议研究基于Git/CI的工作流,因为在本地使用docker进行沙箱处理会带来很多小麻烦。如果你真的想要沙箱,使用流浪者。如果您想要高度便携的微服务,请使用docker。很高兴对这些内容进行扩展,或者您可以在irc上查看#docker以了解更多信息!Re localhost access:如果要从主机的本地主机访问docker容器的公共端口,则需要让虚拟机为您转发boot2docker端口。有关执行此操作的详细信息,请参见。