Docker的初识

一、docker的初识

1.1 docker为什么出现

在docker出现以前,一款产品的上线,需要两套环境,从开发到上线的环境,和应用配置都是不太一样的。在开发环境和应用环境(开发----运维)容易出现一些问题,比如,在我的电脑上开一运行,但是,版本更新,导致服务不可用,这对于运维来讲,考验就非常大了!

在以前,环境的配置是十分的麻烦的,每一个机器都要部署环境(如:集群redis、ES等)费时费力!在服务器配置一个应用的环境(如redis、MySQL、jdk、ES等),不能够跨平台。

传统的模式是开发做的jar包,运维来做部署

Docker给以上的问题,提出了解决方案!!!

出现的docker后,开发打包部署上线,一套流程全部做完!!方便快捷!

例如:

Java---->apk----->发布(应用商店)------->使用者使用apk-------->安装即可使用!

Java----->jar(环境)------>打包项目带上环境(镜像)------->(docker仓库:商店)------->下载发布的镜像--------->直接运行即可

运维人员不需要考虑环境问题!

1.2 docker的历史

2010年,几个搞IT的年轻人在美国处理了一家公司(dotCloud),做了一些pass的云计算服务!LXC有关的容器技术!将自己的技术(容器技术)命名为Docker!Docker在刚开始的时候,没有引起行业的注意,他们的公司快活不下去的时候,他们想到了开源,在2013年,Docker开源!于2014年4月9日,Docker发布Docker1.0!

Docker 是在 Linux 容器里运行应用的一种开源工具,是一种轻量级的虚拟机,诞生于 2013 年

Docker 项目加入了 Linux 基金会,全部开源代码均在 https://github.com/docker 上进行维护,官网为 https://www.docker.com/,Docker 与 OpenStack 同为最受欢迎的云计算开源项目
mark

Docker 的 Logo 设计为蓝色的鲸鱼,拖着许多集装箱,如上图所示,鲸鱼可以看做是宿主机,集装箱可以理解为是相互隔离的容器,每个集装箱内都有自己的应用程序

Docker 的设计理念:Build、Ship and Run Any APP,Any where,即通过对应用组件的封装、发布、部署和运行等生命周期的管理,达到应用组件级别的“一次封装、到处运行”的目的

这里的组件,可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统

1.3 Docker的功能

Docker是基于go语言开发的一个开源项目!

官网地址:https://www.docker.com/

文档地址:https://docs.docker.com/get-docker/

仓库地址:https://hub.docker.com/

mark

虚拟机的技术缺点:

1、资源占用十分多

2、冗余步骤多

3、启动慢

mark

比较Docker和虚拟机技术的不同:

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
  • 每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响。

docker的优势

  • 应用更快速的交付和部署

    • 传统∶一堆帮助文档,安装程序
    • Docker :打包镜像发布测试,一键运行
  • 更便捷的升级和扩缩容

    • 使用了Docker之后,我们部署应用就和搭积木一样!
    • 项目打包为一个镜像,扩展服务器A!服务器B
  • 更简单的系统运维

    • 在容器化之后,我们的开发,测试环境都是高度一致的。
  • 更高效的计算资源利用︰

    • Docker是内核级别的虚拟化,可以再一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。

1.4 Docker的架构图

mark

  • 镜像( image ) :
    docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,例如:tomcat镜像-==>run ==> tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

  • 容器( container) :
    Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。有着启动,停止,删除等基本命令!
    目前就可以把这个容器理解为就是一个简易的linux系统

  • 仓库(repository ) :
    仓库就是存放镜像的地方!

    仓库分为公有仓库和私有仓库!

    Docker Hub(默认是国外的)
    阿里云…都有容器服务器(配置镜像加速!)

二、安装Docker

1、 环境查看

安装docker的系统内核比哦徐是3.10以上的!

[root@localhost ~] # uname -r
3.10.0-693.el7.x86_64

 
 
    [root@localhost ~]# cat /etc/os-releaseNAME="Centos Linux"
    VERSION="7 (core)"ID="centos"
    ID_LIKE="rhel fedora"VERSION_ID="7"
    PRETTY_NAME="Centos Linux 7 (core)"ANSI_COLOR="O; 31"
    CPE_NAME="cpe : /o: centos : centos :7"HOME_URL="https://www.centos.org/"
    BUG_REPORT_URL="https : / /bugs.centos. org/"
    
    CENTOS_MANTISBT_PROJECT="Centos-7"
    CENTOs_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"
    REDHAT_SUPPORT_PRODUCT_VERSION="7"
    
     
     

      请输入下面的命令试一下:因为docker-ce 17.03 之后,需要先安装docker-ce-selinux!
      然后再进行镜像安装!

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      
       
       

        更新yum软件包索引

        yum makecache fast
        
         
         

          5、安装docker(docker-ce、社区、ee、企业版)

          yum install docker-ce docker-ce-cli containerd.io
          
           
           

            6、启动docker

            systemctl start docker
            
             
             

              7、查看是否安装成功

              docker version
              
               
               

                mark

                8、hello-world

                docker run hello-world
                
                 
                 

                  mark

                  9、查看下载的hello-world镜像

                  docker images
                  
                   
                   

                    mark

                    三、卸载docker

                    1、卸载依赖

                    yum remove docker-ce docker-ce-cli containerd.io
                    
                     
                     

                      2、删除资源

                      rm -rf /var/lib/docker
                      
                       
                       

                        /var/lib/docker是docker的默认工作路径

                        四、安装特定版本

                        #列出并排序存储库中可用的版本,按按版本号(从高到低)对结果进行排序,并被截断
                        yum list docker-ce --showduplicates | sort -r
                        ...
                        ...
                        #卸载Docker Engine,CLI和Containerd软件包
                        yum remove -y docker-ce docker-ce-cli containerd.io
                        #主机上的映像,容器,卷或自定义配置文件不会自动删除,要删除所有图像,容器和卷
                        sudo rm -rf /var/lib/docker
                        sudo rm -rf /var/lib/containerd
                        #注:必须手动删除所有已编辑的配置文件
                        #例:【docker-ce-18.09.1】
                        sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io
                        systemctl start docker
                        docker version
                        
                         
                         
                          • 0
                            点赞
                          • 0
                            收藏
                            觉得还不错? 一键收藏
                          • 0
                            评论

                          “相关推荐”对你有帮助么?

                          • 非常没帮助
                          • 没帮助
                          • 一般
                          • 有帮助
                          • 非常有帮助
                          提交
                          评论
                          添加红包

                          请填写红包祝福语或标题

                          红包个数最小为10个

                          红包金额最低5元

                          当前余额3.43前往充值 >
                          需支付:10.00
                          成就一亿技术人!
                          领取后你会自动成为博主和红包主的粉丝 规则
                          hope_wisdom
                          发出的红包
                          实付
                          使用余额支付
                          点击重新获取
                          扫码支付
                          钱包余额 0

                          抵扣说明:

                          1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                          2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                          余额充值