如今docker可真是如日中天啊,相对于像virtualbox,vmware这些虚拟机的笨重的解决方案,docker则轻了很多,对于开发者来说,其中一个比较实用的好处是:再也不用到处搭建开发环境了!当然,docker的好处还有很多,以后慢慢体会吧。来看下简单的使用方法:
使用12.04及以下版本的同学必须更新内核到3.8以上版本,当然,现在最新的内核版本为3.11
从3.8重新到3.11
创建一个最最简单的Dockerfile文件,内容如下:
-it:i表示交互式命令行,t表示分配一个虚拟TTY,要不然就看不到提示符输出了。
使用12.04及以下版本的同学必须更新内核到3.8以上版本,当然,现在最新的内核版本为3.11
更新到3.8
- sudo apt-get update
- sudo apt-get install linux-image-generic-lts-raring
- sudo apt-get install linux-headers-generic-lts-raring
重启
从3.8重新到3.11
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
- sudo apt-get install linux-image-generic-lts-saucy
- sudo apt-get install linux-headers-generic-lts-saucy
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
安装docker
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
- sudo sh -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
- sudo apt-get update
- sudo apt-get install lxc-docker
创建一个最最简单的Dockerfile文件,内容如下:
- FROM ubuntu:12.04
- # Install system-level dependencies.
- ENV DEBIAN_FRONTEND noninteractive
从当前目录创建一个docker image,名称叫dockertest,注意,当前目录必须有一个叫Dockerfile的文件,内容如上。
- docker build -t dockertest .
运行一个容器:
- docker run -it -rm -v /home//:/host-home dockertest /bin/bash
-it:i表示交互式命令行,t表示分配一个虚拟TTY,要不然就看不到提示符输出了。
-rm:表示在退出容器时将容器自动删除,否则docker run执行多了,你用docker ps -a命令查看的时候,会看到一堆的容器,占用空间不说,也影响心情。
-v /home/:/host-home: 把/home目录影射到容器的/host-home目录,这里不用担心/host-home不存在,因为不存在会自动创建,开发者应该会爱死这个选项,因为编代码的时候只要把目录影射到容器中即可。
这样,你就可以通过控制台来安装各种应用了。
上面的过程讲解了如何来建立一个docker的image然后运行容器,实际的使用过程中更多的是通过docker pull从网上下载一个已经存在的image。
参考:
http://askubuntu.com/questions/258798/installing-kernel-3-8-on-12-10-12-04