超级、无比简单的步骤说明
第一步
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
上一条命令的简要说明:
- --rm:告诉Docker一旦运行的进程退出就删除容器。这在进行测试时非常有用,可免除杂乱
- -ti:告诉Docker分配一个伪终端并进入交互模式。这将进入到容器内,对于快速原型开发或尝试很有用,但不要在生产容器中打开这些标志
- ubuntu:这是容器所基于的镜像
- /bin/bash:要运行的命令,因为我们以交互模式启动,它将显示一个容器的提示符
在运行run命令时,你可指定链接、卷、端口、窗口名称(如果你没提供,Docker将分配一个默认名称)等等。
现在,我们在后台运行一个容器:
$> docker run -d ubuntu ping 8.8.8.831c68e9c09a0d632caae40debe13da3d6e612364198e2ef21f842762df4f987f $>
输出的是分配的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的基本结构:
延伸阅读:
- Dockerfiles:允许你使用一个文本文件定义镜像,这非常重要
- 我说过dockerfiles非常重要吧?
- 你真应该看看dockerfiles
- docker build:你需要这个来构建你的dockerfiles
- docker push/docker pull
- docker create/docker run
- docker rm/docker rmi
- docker start/docker stop
- docker exec
- docker inspect
- docker tag
- Links
- Volumes
有趣的链接:
- ANNOUNCING DOCKER MACHINE, SWARM, AND COMPOSE FOR ORCHESTRATING DISTRIBUTED APPS
- Docker at Shopify: How we built containers that power over 100,000 online shops
- Why CoreOS is a game-changer in the data center and cloud
- Docker Misconceptions
- Microservices - Not a Free Lunch!
- Feature Preview: Docker-Based Development Environments
- How to compile Docker on Windows (感谢reddit的computermedic提供)
有用的项目和链接
相关推荐
Docker学习指南系列教程,由浅入深的介绍Docker的各个知识细节
开发者必备的 Docker 实践指南.pdf
docker实践,详细步骤,适合初学者
不错的Docker学习指南,是初学者的参考书籍,基础知识
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
Docker完全指南PDF文档,页数较少请下载者慎重下载,不接受指责。系统默认下载分数,非本人设置,若想免费下载请在我的博客中留言。
docker 的指南,电子书PDF板,简单清晰,入门的最佳原则
Docker容器是资源分割和调度的基本单位,封装整个服务的运行时环境,用于构建、发布和运行分布式应用的一个框架。它是一个跨平台、可移植并且简单易用的容器解决方案。Docker的源代码托管在GitHub上,基于Go语言开发...
Ubuntu16.04使用Docker全指南 ubuntu16.04_docker.pdf
Docker初学指南:如何创建第一个Docker应用程序,A beginner’s guide to Docker — how to create your first Docker application。
虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。 整理于掘金小册 《开发者必备的 Docker 实践指南》
docker各个系统的安装过程与使用指南、官方案例. Hello world 现在让我们来试试 $ sudo docker run ubuntu:14.04 /bin/echo 'Hello world' Hello world 刚才你启动了你的第一个容器! 那么刚才发生了什么? 我们逐步...
本教程有三个目标:说明Docker解决的问题、说明它如何解决这个问题、以及说明它使用了哪些技术来解决这个问题,这不是一篇教你怎么运行安装Docker的教程。Docker是一个相对较新且发展非常快速的项目,可用来创建非常...
官方版docker使用中文指南,
Docker学习指南,分为6个部分,对docker的一些基本概念和基本操作分类说明了,是很好的学习资料
Docker入门指南.docx
CentOS7 安装 Docker 操作指南
docker入门指南docker入门指南docker入门指南docker入门指南docker入门指南
docker入门与实践指南docker入门与实践指南docker入门与实践指南docker入门与实践指南