初识Docker容器及运行原理

目录

初识Docker 

一、Docker为什么出现?

二、Docker的基本组成

    1、docker架构图        ​

三、Docker安装

     1、环境准备

    2、环境查看

   3、Docker安装

    4、 卸载docker

四、配置阿里云镜像加速

五、Docker run hello-word执行流程

1、Docker run运行原理

2、Docker底层原理

3、Docker为什么比VM快

        六、Docker全流程图


初识Docker 

一、Docker为什么出现?

    1、一个项目多套环境,环境配置十分麻烦,每一个机器都要部署环境(集群redis、es、Hadoop。。。),费时费力
    2、发布项目以前需要发布jar或者war包及对应的中间服务器环境部署,使用docker我们可以将jar/war带上系统环境一起打包发布
    eg:
    java -- apk --发布(应用商店)---张三使用apk---商店安装即可
    java --- jar(环境)---打包项目带上环境(docker镜像)--上传(docker远程仓库类似商店)--下载发布的镜像--直接运行即可
    
    Docker集装箱思想:
        镜像隔离:可以充分利用服务器
    Docker能干吗:
        虚拟机技术:
        
    
        虚拟机技术缺点:
            1、资源暂用十分多
            2、冗余步骤多
            3、启动很慢
        容器化技术:容器化技术不是模拟的一个完整系统

          
            
        比较Docker和虚拟机技术的不同:
            传统虚拟机,虚拟出一套硬件,运行一个完整操作系统,然后在这个操作系统上安装和运行软件;
            容器的应用直接运行在宿主机的内核,容器是没有自己内核的,也没有虚拟我们的硬件,所以资源占用量少
            每个容器间是互相隔离的,每个容器都有一个属于自己的文件系统,互不影响。
            
        DevOps(开发、运维):应用更快速的交付和部署    
            传统:一堆帮助文档,安装程序
            Docker:打包镜像发布测试,一键运行,更便捷的升级和扩缩容
            使用DOcker之后,我们部署一个应用和搭积木一样 。

 

二、Docker的基本组成

    1、docker架构图
        

   镜像(image): 镜像就是一个模板,可以通过这个模板来创建服务器服务,eg:tomcat--->run-->tomcat01容器(提供服务器),
            通过这个镜像创造多个容器(最终服务运行或者项目运行就在容器里)。
    容器(container):Docer利用容器技术,独立运行一个或者一个组应用,通过镜像来创建,启动、停止、删除、基本命令,容器就是一个、
            简单的linux系统。
    仓库(repository):存放镜像的地方,分为公有仓库及私有仓库,DOcker Hub,阿里云等.

三、Docker安装

     1、环境准备

            linux系统、Centos7、xshell脚本远程工具,准备一台带有centos7的linux虚拟机.

    2、环境查看

 

        1、查看机器linux内核版本,系统内核是3.10以上

            

         2、查看linux系统版本

            

   3、Docker安装

            安装参考docker官网的帮助文档

            https://docs.docker.com/engine/install/centos/        

           

            设置docker远程仓库,由于国外镜像很慢,我们将替换成国内阿里云镜像地址:

            安装docker前需要安装的依赖包:

             yum install -y yum-utils device-mapper-persistent-data lvm2

            使用阿里国内源安装docker

            yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

            更新yum软件报索引    

            #yum list docker-ce --showduplicates | sort -r

            yum makecache fast

           #yum install docker-ce -y        

           安装最新的docker引擎 docker-ce 社区版,docker-ee企业版,docker-ce-cli docker客户端 及容器

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

            
            启动docker:systemctl start docker
            查看docker版本:docker version
            测试docker:docker run hello-world 验证docker正常运行,测试返回界面如下代表成功:
            
            
            查看上一步查看hello-world镜像是否已存在使用命令:docker images
            


    4、 卸载docker

             

四、配置阿里云镜像加速

       安装完docker环境之后默认拉取镜像使用的本地网络环境,若是镜像过大,拉取的速度就很慢,所以我们考虑进行安装阿里云镜像加速,方法如下:

      1、登录阿里云控制台找到“容器镜像服务”
            

2、找到自己的镜像加速器地址:

3、配置命令使用:
            sudo mkdir -p /etc/docker 
            sudo tee /etc/docker/daemon.json <<-'EOF' 
            {
                 "registry-mirrors": ["https://m0w2k17q.mirror.aliyuncs.com"]
             }
             EOF 
            sudo systemctl daemon-reload 
            sudo systemctl restart docker

五、Docker run hello-word执行流程

1、Docker run运行原理

2、Docker底层原理

             Docker是怎么工作的?
                
                Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问

3、Docker为什么比VM快

    1、Docker有着比虚拟机更少的抽象层
            2、Docker利用的是宿主机的内核,VM需要时guet os

备注:新建一个容器的时候,docker不需要虚拟机重新加载一个操作系统内核,而虚拟机是重新加载Guest OS

六、Docker全流程图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值