超级、无比简单的步骤说明第一步Docker命令工具需要root权限才能工作。你可以将你的用户放入docker组来避免每次都要使用sudo。 第二步使用以下命令从公共registry下载一个镜像: $> docker pull ubuntu:latest ubuntu:latest: The image you are pulling has been verified 3b363fd9d7da: Pull complete .....<bunch of downloading-stuff output>..... 8eaa4ff06b53: Pull complete Status: Downloaded newer image for ubuntu:latest $> 这个公共registry上有你需要的几乎所有东西的镜像:Ubuntu、Fedora、Postgresql、MySQL、Jenkins、Elasticsearch、Redis等等。Docker开发人员在这个公共registry里维护着数个镜像,不过你能从上面拉取大量来自用户发布的自建镜像。 也许你需要或想要一个私有的registry(用于开发应用之类的容器),你可以先看看这个。现在,有好几个方式可以设置你自己的私有registry。你也可以买一个。 第三步列出你的镜像: $> docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest 8eaa4ff06b53 4 days ago 192.7 MB 第四步从该镜像上创建一个容器。 $> docker run --rm -ti ubuntu /bin/bash root@4638a40c2fbb:/# ls bin boot dev etc home lib lib64 media mnt opt proc root...... root@4638a40c2fbb:/# exit 上一条命令的简要说明:
在运行run命令时,你可指定链接、卷、端口、窗口名称(如果你没提供,Docker将分配一个默认名称)等等。 现在,我们在后台运行一个容器: $> docker run -d ubuntu ping 8.8.8.8 31c68e9c09a0d632caae40debe13da3d6e612364198e2ef21f842762df4f987f $> 输出的是分配的ID,因为是随机的,你的将有所不同。我们来检查一下容器是否起来了: $> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 31c68e9c09a0 ubuntu:latest "ping 8.8.8.8" 2 minutes ago Up 2 minutes loving_mcclintock 就在那,它被自动分配了一个叫loving_mcclintock的名称。我们看看容器里正在发生什么: $> docker exec -ti loving_mcclintock /bin/bash root@31c68e9c09a0:/# ps -aux|grep ping root 1 0.0 0.0 6504 636 ? Ss 20:46 0:00 ping 8.8.8.8 root@31c68e9c09a0:/# exit 我们所做的是在容器里运行程序,这里的程序是/bin/bash。-ti标志与docker run的作用相同,将我们放置到容器的控制台里。 结尾差不多就是这样了。有太多的东西可以讲,但那超出了本文的范围。 不过我会提供一些我认为非常重要或有趣的链接和延伸阅读材料。 Docker的基本结构: 延伸阅读:
有趣的链接:
有用的项目和链接
(责任编辑:IT) |