docker不同的开发环境
用docker分隔不同项目开发环境的最佳方法是什么?
谈到Mac,当它不是原生支持,我曾经有两个docker机,可以说projectA和projectB,所以我只是eval $(docker-machine env projectA)
为了访问这个项目的所有容器。
在容器方面我有:
项目A:
- MySQL的
- MongoDB的
- ActiveMQ的
- 卡桑德拉
项目B:
- MySQL的
- MongoDB的
是否有可能有这样的分离,所以任何人docker ps -a
只会看到与当前选定的机器相关的容器?
我可以继续使用docker-machine做这个,但是不会使用本机启用的function,而且执行速度也会变慢。
谢谢!
Docker本身不支持Mac – Docker for Mac使用本地虚拟化 ,但仍然有Docker客户端连接的Linux虚拟机正在运行。
你说得对,Docker for Mac的性能和集成性更好,但是折衷是你只能得到一个虚拟机,你不能创build第二个虚拟机,并且有两个Docker引擎在运行,这是唯一的物理方法隔离容器。
Docker for Mac和Docker Toolbox 可以共存 ,所以这是一种select。 另一种select是通过在相同的Dockernetworking中运行相关的容器将它们逻辑分离 – 但是它们仍然会在docker ps
显示出来。