400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何使用 Docker 来协助 X 系统上的开发工作

对应用进行设置可能会相当复杂,尤其是在 Linux 系统上。不同应用有不同的配置方法,它们会在不同的文件系统路径下(在不同的 Linux 发行版中,由于应用存在多种变种,这些路径也会有所不同)保存二进制文件和数据。一旦你把系统配置好了,就很难再恢复到之前的状态,尤其是你同时进行了一些其他修改的时候(比如,安装了一些其他应用程序)。这也是最近诸如 Puppet、 Chef、 Ansible 和 Salt 这样的部署工具流行的原因。但即使有了这些工具的帮助,创建 cookbook/recipe 也许也十分麻烦: Linux 系统并非以傻瓜化著称,系统本身也不能让你摆脱麻烦。

业界出现了一个新的工具

很幸运的是,对于 Linux 运维人员来说,一个新的工具产生了,而该工具很有可能改变游戏规则:Docker ,一个开源的平台,能够以一种轻量级的方式打包应用程序以及它们的依赖。

这到底意味着什么?

Docker 使你能够在 Linux 系统上对不同的应用程序进行隔离,在不同的上下文环境中运行这些程序(这些程序可能执行在一台物理机器上,也可能运行在不同的物理机器上),请记住,这一点非常重要:

在实践中 Docker 是如何工作的?

或者这么讲,至少对于我来说,它是这么工作的:

  1. 我已经在我的本地 Vagrant 环境中指定了 Docker 作为部署工具, Vagrant 从 1.6 版本就引入了这一功能。对于什么是 Vagrant ,以及它为什么是 X 平台开发人员必备的工具,我认为无需赘述。

  2. Docker 已经为我自动下载了一些 Linux 发行版的镜像(这些镜像会被 Vagrant 使用,在 hypervisor 上运行)。

  3. 现在我能够以至少两种方式创建我自己的容器(正在运行的,实现资源隔离的应用程序):

 
 
  1. sudo docker build    
  2. ...  
  3. or    
  4. ...  
  5. sudo docker run -i -t  /bin/bash   

有些重要的事情需要记住

  1. 如果在 Dockerfile 里的命令执行完了,或者是通过 run 这个子命令运行的命令执行完了(因为它们并不是 daemon 程序),那么容器就会关闭并且消失!

  2. 当容器正在运行时,你可以十分方便地:

  1. 如果你想要通过手动执行命令的方式创建你自己的容器(run),你需要存储你自己的镜像 - 首先你需要在正在运行的容器列表里找到你想要的容器,然后执行commit命令:

 
 
  1. sudo docker ps    
  2. sudo commit    

通过使用以上所有的选项...

...我能够:

...在我做到以上所有事情的同时,我的操作系统却坚如磐石:我不会破坏任何事情,我可以很简单地回滚我做的任何操作。安装其他的容器也不会互相影响。

总之,在几周的时间里,我已经把 Docker 作为了我的主要的软件开发工具。现在我已经无法想象缺少了 Docker 我该怎样进行基于 JVM 的开发工作了。


新闻名称:如何使用 Docker 来协助 X 系统上的开发工作
网址分享:http://www.bluegullmedia.com/article/djseosd.html

其他资讯

让你的专属顾问为你服务

0.0487s