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

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
        将刚才创建的镜像上传到仓库中。 

猜你喜欢

转载自blog.csdn.net/lhd_paul/article/details/78568691