【Docker】2、基本组成、CentOS下安装、卸载、底层原理

2022/2/26 7:27:25

本文主要是介绍【Docker】2、基本组成、CentOS下安装、卸载、底层原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、Docker 基本组成

在这里插入图片描述

镜像(image)

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

容器(container)

  • Docker 利用容器技术,独立运行一个或者一组应用,通过镜像来创建的

  • Docker 可以启动,停止,删除,基本命令

  • 可以把这个容器理解为就是一个简易的 Linux系统

仓库(repository)

  • 仓库就是存放镜像的地方!
  • 仓库分为公有仓库私有仓库。(类似于 git)
  • Docker Hub是国外的。
  • 阿里云…都有容器服务器(配置镜像加速!)

2、安装 Docker

环境准备

  • 查看 Linux 版本 uname -r:内核要 3.0 以上
[root@bogon ~]# uname -r
3.10.0-693.el7.x86_64
[root@bogon ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;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"

安装

帮助文档:https://docs.docker.com/engine/install/

  • 卸载旧版本
 yum remove docker \
            docker-client \
            docker-client-latest \
            docker-common \
            docker-latest \
            docker-latest-logrotate \
            docker-logrotate \
            docker-engine

在这里插入图片描述

  • 需要的安装包
 yum install -y yum-utils

在这里插入图片描述

在这里插入图片描述

  • 设置镜像的仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#默认是从国外的,不推荐

#推荐使用国内的
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

  • 更新yum软件包索引
yum makecache fast

在这里插入图片描述

  • 安装docker相关的 docker-ce 社区版,ee是企业版
#! 建议加上 -y
yum install docker-ce docker-ce-cli containerd.io

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 启动 docker
systemctl start docker
  • 查看是否安装成功
docker version

在这里插入图片描述

  • 测试 helloworld
docker run hello-world

在这里插入图片描述

至此,安装成功!

  • 查看下载的镜像
docker images

在这里插入图片描述

卸载 docker

  • 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
  • 删除资源
#! /var/lib/docker 是docker的默认工作路径!
rm -rf /var/lib/docker

在这里插入图片描述

3、阿里云镜像加速

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、回顾 HelloWorld 流程

在这里插入图片描述

5、底层原理

Docker是怎么工作的

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

Docker-Server接收到Docker-Client的指令,就会执行这个命令!

在这里插入图片描述

为什么 Docker 比 Vm 快?

在这里插入图片描述

  • docker 有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker有明显优势
  • docker利用的是宿主机的内核,而不需要Guest OS
    • GuestOS: VM(虚拟机)里的系统(OS);
    • HostOS:物理机里的系统(OS);

因此,当新建一个容器 docker 时,docker不需要和虚拟机一样重新加载一个操作系统内核。从而避免引导、加载操作系统内核,这是个比较费时费资源的过程;当新建一个虚拟机时,虚拟机软件需要加载GuestOS,这个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个复杂的过程,因此新建一个docker容器只需要几秒钟



这篇关于【Docker】2、基本组成、CentOS下安装、卸载、底层原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程