7C00.ME/houmu 2014-12-19

Docker快速体验

Docker 是近年来非常火的虚拟化技术和项目,我听说它很久了,却一直没去实际接触过,今天终于体验了一把。Docker 官网上有个 Try It ,可以花几分钟了解一下 Docker 的一些用法和命令。

首先,安装 Docker。在 Ubuntu 14.04 下安装 Docker 非常简单, 只需要执行这两条命令就够了:

sudo apt-get update
sudo apt-get install docker.io

官方安装文档另有一种建议的做法,不过,作为快速体验,先这么做也没问题。其他操作系统装法各有不同,可参阅官方文档。

再下载一个镜像 (image)。Docker 里面的镜像,可以类比 VMware 里面的 vmdk 文件, 但是往往要小的多。下载镜像的一般做法是用 docker pull 命令从 docker 的中央仓库下载,但是由于我国科技水平太低,不 “科学上网” 的话很容易出现下载失败。幸好有识之士为我们架起了镜像,我使用的是 http://docker.cn 。用下面的命令下载个镜像:

sudo docker pull docker.cn/docker/ubuntu:14.04
sudo docker images

第一行命令是下载一个ubuntu 14.04 系统的镜像,这个镜像文件不到 200M, 比 Ubuntu 安装文件小多了,其实是因为只有包含了最基本的软件。第二行命令,查看镜像,会列出这台电脑上所有的镜像文件的相关信息,这其中自然包括刚刚下载的 ubuntu 。

接下来就可以体验 docker 了。最简单的用法,打印一个 hello world

sudo docker run 550 echo "hello world"

550是刚才docker images 列出的 ubuntu 镜像的 IMAGE ID的开头。这样的玩法好像没有什么魅力,那么就开一个 Bash 玩玩:

sudo docker run -ti 550 /bin/bash

进入 Bash 以后用户名和主机名都变了,可以 lscat 一些东西,甚至可以玩点大的——rm -rf /。 这些操作(理论上)都不会影响你在用的电脑。

使用 sudo docker ls -a 列出全部 container 和相关信息。container 相当于跑镜像的虚拟机进程,每次run一个镜像都会创建一个container,run结束以后 container 也停止了。某些 container 的状态,可以 commit 成为一个镜像。

更多玩法,可以参考相关文章,我也可能会写几篇博文。