我可以使用docker来隔离我的开发环境吗?

前端之家收集整理的这篇文章主要介绍了我可以使用docker来隔离我的开发环境吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

好吧,这让我发疯了.我已经阅读了很多关于Docker的内容,但仍然无法理解 – 对我来说是码头工程师……

我使用Mac OS X进行工作,并使用Ubuntu开发虚拟机来开发虚拟机.我为每个项目使用vagrant,因为我希望在生产服务器上使用相同的操作系统和库.我讨厌像rbenv和nvm这样的工具,因为它们的使用增加了终端的启动时间.如果两者都被激活,我需要等待2..4秒才能准备好新的终端选项卡.我打字很快,这种延迟会影响我的生产力.

我很喜欢流浪汉,但是使用虚拟机,每个虚拟机需要大约800 MB的RAM ……太多了.

所以问题是:我可以像流浪汉一样使用docker吗?假设我有两个项目,我需要将Ruby 2.0用于项目A,将Ruby 2.3用于项目B,是否可能/正确使用docker创建两个容器,每个容器都有自己的Ruby版本?而且我不希望这些版本的Ruby与系统Ruby交叉.

有了vagrant,我只用Ruby 2.0创建两个VM,第二个用Ruby 2.3创建.如果我不需要其中任何一个,我将销毁VM,我的系统将保持清晰,不会在客户机上安装软件.

编辑:我知道我不能在操作系统X本身使用Docker.让我们假设一些Linux Ubuntu / Debian / Arch /等.如果我知道Linux Docker会给我我想要的东西,我准备转移到Linux.

最佳答案
您可以使用适用于Mac OS X的新docker beta在Mac OS X中使用Docker.它仍然使用VM,但它比VirtualBox轻.此外,它支持与OS X更好的集成.截至目前,它有点错误.

要回答您的问题,是的,您可以使用docker容器内所需的运行时创建环境,而不会影响其他容器或系统.请记住,容器通常在其中运行一个进程,因此不要像在流浪盒中那样运行多个服务.它不是一个完整的操作系统,它只是一个在不同的内核命名空间中运行的可执行文件.如果你想运行多个进程,有一些解决方法,但“正确”的方法是使用docker-compose之类的东西连接在一起的多个容器.

猜你在找的Docker相关文章