您的位置:首页 > 运维架构 > Docker

docker技术的详细介绍(简单、直白的理解)

2017-11-18 14:38 316 查看
Docker技术详解
一.什么是Docker

       Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托管在 GitHub 上, 基于Go语言并遵从Apache2.0协议开源。 Docker在2014年6月召开DockerConf2014技术大会吸引了IBM、Google、RedHat等业界知名公司的关注和技术支持,无论是从 GitHub上的代码活跃度,还是Redhat宣布在RHEL7中正式支持Docker, 都给业界一个信号,这是一项创新型的技术解决方案。 就连 Google 公司的
Compute Engine 也支持 docker 在其之上运行, 国内“BAT”先锋企业百度Baidu App Engine(BAE)平台也是以Docker作为其PaaS云基础。现在主流的linux系统都支持Docker技术。

二.Docker核心概念

      Docker的大部分操作都是围绕着它的三大核心概念——镜像、容器和仓库而展开。因此,掌握这三大概念尤为重要。

1. Docker镜像

      Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板,当要创建Docker容器时,就是在这个模板的基础上加上一个可写层。

2. Docker容器

       Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是Docker镜像创建的运行实例,Docker容器只保留一些你自己特有的东西,有镜像那块的东西不保留,例如:保留一些用户权限、进程空间等。

3. Docker仓库

        Docker仓库类似于一个git仓库,不过它存的是Docker镜像文件,自己修改的文件要保留到Docker仓库,必须先生成一个新的Docker仓库,所以一般小的修改只保留到Docker容器,不上传到Docker仓库

二.Docker的使用

1.获取镜像

         镜像的获取一般是在Docker Hub网站上,可以直接使用docker pull命令直接从Docker Hub镜像源来下载镜像。该命令的格式为docker pull NAME[:TAG],例如:docker pull ubuntu:16.04。如果是从其他镜像源下载,需要在pull后面加上地址,比如:docker pull hub.c.163.com/public/Ubuntu:16.04。

2.查看镜像信息

         使用docker images 命令可以列出本机上已有镜像的信息(注意images有s)。

         例如:docker images

         REPOSITORY         TAG        TMAGE  ID      CREATED          SIZE

               Ubuntu            16.04        2ffljhj34h89      2hours ago         122M

        使用inspect命令查看详细信息

        docker inspect可以获取该镜像的作者、适应框架、各层数字摘要等。

        docker inspect ubuntu:16.04

4. 搜寻镜像

        使用docker search命令可以搜索远端仓库中共享的镜像,其中有一下参数

         --automated=true|false   显示自动创建的镜像,默认为否

        --no-trunc=true|false     输出信息不截断,默认为否

        -s  number             指定仅显示评价为number星级以上的镜像

        例如:docker search –automated –s 3 nginx   搜索所有自动创建的评价为3以上的带nginx关键字的镜像

5. 删除镜像

       docker rmi ubuntu:16.04  删除镜像为16.04版本的ubuntu

       可以这么理解,rmi就是remove image的缩写

       当存在此对象对应的容器时,使用该方法删除不能镜像,可以先删除容器在删除镜像,容器的删除在后面讲解。

6. 创建镜像

       docker commit –m “add a new file” –a “paul” as2hj3gy5ty5 docker_paul:14.04

       注解:docker commit –m是提交为一个新镜像的一般格式,“add a new file”是提交时的文件说明,-a是参数选项,表示后面要接作者信息,“paul”是作者信息,as2hj3gy5ty5是当前这个容器的id,docker_paul:14.04是提交上去的镜像repository和tag。

7. 上传镜像

        docker push docker_paul:14.04

        将刚才创建的镜像上传到仓库中。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: