了解什么是 Docker

_ _       _                    _
__      _____| | |   __| | ___  _ __   ___  | |
\ \ /\ / / _ \ | |  / _` |/ _ \| '_ \ / _ \ | |
 \ V  V /  __/ | | | (_| | (_) | | | |  __/ |_|
  \_/\_/ \___|_|_|  \__,_|\___/|_| |_|\___| (_)
                                              
 
 
 
                        ##        .
                  ## ## ##       ==
               ## ## ## ##      ===
           /""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
           \______ o          __/
             \    \        __/
              \____\______/
 
              |          |
           __ |  __   __ | _  __   _
          /  \| /  \ /   |/  / _\ |
          \__/| \__/ \__ |\_ \__  |

What is Docker?

Docker是一个为开发者和系统管理员构建部署运行分布式应用的开源平台。包括:Docker Engine,可移植的轻量运行环境和包管理工具,及Docker Hub。Docker Hub是为分享应用和自动化工做流服务的云服务。Docker可以作到apps快速从组件装配而且消除开发,质量评估和产品环境间的冲突。所以,它能够在不改变文件的状况下,在电脑上,数据中心虚拟机,任何云上运行同一款appdocker

Why do developers like it?

有了Docker,开发者能够用任何语言,使用任何工具链构建任何应用。Docker化的应用彻底可移植,而且处处运行:OS x,windows,云上的ubuntu或者是RED HAT上的产品数据中心虚拟机shell

Docker Hub上有13000+的apps,帮助开发者快速的开始开发。由Docker来管理,跟踪变化和依赖关系。系统管理员能够很容易地理解由开发者开发的app是如何工做的。有了Docker Hub,开发者能够自动构建他们本身的管道或者和合伙人经过共有或者由repositories来发布他们的产品ubuntu

Docker帮助开发者开发,部署,快速的高质量应用。windows

Why do sysadmins like it?

系统管理员为他们(development, QA, and production teams)减小在本身电脑上运行带来的调整时间。经过Docker化app平台和app的依赖环境,系统管理员抽象的剥离了操做系统发行版本和底层的基础设施之间的差别。架构

此外,Docker Engine模块的标准化并以此做为部署单元使系统管理员更灵活的调整工做量。不管是不是空的物理机,或者data center VMs或者公共云,在基础架构技术的帮助下,workload deployment会更加的灵活。workload deployment会被企业的政策和次序来驱动。另外,Docker Engine的轻量运行环境容许快速的上架和下架以此响应需求的快速变化。app

总的来讲,Docker帮助系统管理员快速,稳定地在任何基础设施上部署和运行任何应用。分布式

How is this different from Virtual Machines?

Virtual Machines

图片描述

每一个运行在虚拟机里的应用自己大小的数量级在MB,而再加上应用依赖的包和二进制库以及运行应用的虚拟机后,整个系统的大小就会达到惊人的GB级别工具

Docker

图片描述

Docker引擎容器仅仅包含一个用和它的依赖项,它做为一个孤立的进程运行在操做系统的用户空间,和其它容器共享内核。所以,它享有特定的资源和虚拟机易部署的优点,但更加便捷和高效。this

try it

docker version
docker search imageName
docker pull image(<username>/<repository>)
docker run [image name] [command]
docker run [image name] [apt-get install -y ping]

Save your change for imagespa

保存更改使你下次使用这个镜像时可以从这个点开始运行镜像
docker中用来保存状态的操做叫作commit

docker ps -l    查看要保存的进程ID
docker commit id [new image name]
docker commit 698a learn/ping
docker run learn/ping ping www.baidu.com
docker inspect [image id] 查看image的详细信息

push you images to Docker Hub

docker images....查看当前主机上有多少个镜像
docker push [image name]
相关文章
相关标签/搜索