Docker ❉ 基础知识与docker安装

一 Docker是什么

  1. 为何会有docker出现:方便代码环境交付
  2. docker理念:一次封装,到处运行
  3. 一句话:解决运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

二 与虚拟机的区别

        虚拟机是带环境安装的虚拟系统,可以在一种操作系统中运行另一种操作系统,看上去和实际系统一样,对底层系统来说,虚拟机就是一个普通文件,不需要了就删除

        缺点是虚拟机中包含的硬件软件都会虚拟,比较复杂,分钟级启动,资源占用多,冗余步骤多,部署复杂

        linux容器不是模拟一个完整的操作系统,而是对进程进行了隔离,将软件运行所需要的资源打包到一个隔离的容器中,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一整个完整操作系统,在该系统上再运行所需应用进程
  • 容器内的应用进程是直接运行于宿主的内核,同期内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比传统虚拟机更轻便
  • 每个容器互相隔离,文件资源运行互不影响

        Docker有着比虚拟机更少的抽象层,由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用宿主机的硬件资源,因此在资源的占用上Docker有明显的优势

三 Docker 安装

       1 前提原理

  • centos必须6.5以上
  • 仅支持2.6.32-431版本及以上的内核版本,查看内核版本命令如下
[root@192 docker]# uname -r
3.10.0-1127.el7.x86_64

       2 Docker基本构成

              镜像(image):一个只读的模板,用于创建docker实例(容器),一个镜像可以创建多个容器

              容器(container):用镜像创建的运行实例,可以启动删除等操作,可以 将其看做一个简易版的linux环境,几乎和镜像一样,也是一堆层的统一视角

              仓库(repository):储存镜像的地点,仓库和仓库注册服务器(registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库又分为公开仓库(public)和私有仓库(private)两种形式,最大的公开仓库是Docker Hub,国内的公开仓库包括阿里云,网易云等

              

       3 安装步骤

              (1) centos6

# 安装epel-release
[root@slave1 ~]# yum -y install epel-release

# 安装docker
[root@slave1 ~]# yum install -y docker-io

# 安装后的配置文件
[root@slave1 ~]# /etc/sysconfig/docker

# 启动docker后台
[root@slave1 ~]# service docker start

                     
# docker version验证
[root@slave1 ~]# docker version

              (2) centos7(这个博客多得很)

                     官网安装参考手册:Redirecting…https://docs.docker.com/install/linux/docker-ce/centos/

中文版手册版本较老,建议以英文版为准

# 确定是centos7及以上版本
[root@192 docker]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# yum安装gcc相关注意centos7系统主机要能上外网
[root@192 docker]# yum -y install gcc
[root@192 docker]# yum -y install gcc-c++
# 卸载旧版本
[root@192 docker]# yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 安装需要的软件包(初次安装需要 这个命令)
[root@192 docker]# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 设置stable镜像仓库 ,这个大坑!
# 注意!!!!其实官网没错,但是由于国内有防火墙,官网链接会 很慢 ,会导致Err14,Err12等错误 
# 建议使用国内的镜像仓库,阿里云大法好 
[root@192 docker]# yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引,这个英文手册没有,不过还是加一下
[root@192 docker]# yum makecache fast
# 安装docker ce
[root@192 docker]# yum -y install docker-ce
# 启动docker
[root@192 docker]# systemctl start docker
# 测试
[root@192 docker]# docker version                            

配置镜像加速  

        如图获取自己的阿里云加速链接           

              

[root@192 docker]# mkdir -p /etc/docker
[root@192 docker]# vim /etc/docker/daemon.json
# 注意与centos6不同,字段内容如下:
# 网易云

{"registry-mirrors":["http://hub-mirror.c.163.com"]}
# 阿里云

{
"registry-mirrors":["https://【自己的编码】.mirror.aliyuncs.com"]
}

[root@192 docker]# systemctl daemon-reload

[root@192 docker]# systemctl restart docker

四 卸载

[root@192 docker]# systemctl stop docker

[root@192 docker]# yum -y remove docker-ce
[root@192 docker]# rm -f /var/lib/docker

五 底层原理

1 Docker如何工作

        docker是一个C/S结构的系统,Docker守护进程运行在主机上,然后通过 socket链接从客户端访问,守护进程从客户端接收命令并管理运行于主机上的容器,容器是一个运行时环境

2 为何docker比VM快

  • docker有更换搜啊的抽象层,由于不需要hypevisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源,因此在CPU和内存等利用上优于VM
  • docker利用的是宿主机的内核,不需要Guest OS,因此在 创建一个容器时,docker不需要想虚拟机一样重新加载一个操作系统内核,因而避免引寻,加载中间层的过程,所以创建一个docker容器只需要几秒钟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值