1. Docker的介绍和安装 (二)

5 Docker的原理

5.1 Namespace

Namespace(命名空间)提供了一个独立的工作环境,Docker使用Namespace来隔离容器,使得每个容器都有自己独立的系统资源(如进程ID、主机名、网络等)。

  • PID Namespace:隔离进程ID,保证每个容器有独立的进程树。
  • NET Namespace:隔离网络资源,使每个容器有独立的网络栈。
  • IPC Namespace:隔离进程间通信资源,如信号量、消息队列等。
  • MNT Namespace:隔离文件系统挂载点,使每个容器有独立的文件系统视图。
  • UTS Namespace:隔离主机名和域名,使每个容器有独立的主机名。
    在这里插入图片描述

5.2 Control Groups (cgroups)

Control Groups(cgroups)是Linux内核的功能,Docker使用cgroups来限制和隔离容器的资源使用(如CPU、内存、磁盘I/O等)。

  • 资源限制:通过cgroups,可以为每个容器设置资源使用上限,防止单个容器消耗过多资源。
  • 资源监控:cgroups提供了详细的资源使用统计,便于监控和优化容器的性能。
    在这里插入图片描述

5.3 UnionFS

UnionFS(联合文件系统)是Docker镜像的基础,它允许将多个文件系统叠加在一起,形成一个单一的文件系统。

  • 层级结构:每个Docker镜像由多层文件系统构成,镜像的修改只会在最上层生效,其他层保持不变。
  • 写时复制:当容器需要修改文件时,Docker会将文件复制到最上层文件系统,然后进行修改,这种方式提高了性能并节省了存储空间。

在这里插入图片描述

5 安装Docker

5.1 在Windows上安装Docker

使用Docker Desktop
  1. 下载Docker Desktop

  2. 安装Docker Desktop

    • 双击下载的安装包,按照安装向导步骤完成安装。
    • 启动Docker Desktop,等待Docker引擎启动完成。
  3. 验证安装

    • 打开命令行,执行docker --version命令,检查Docker版本信息。
配置Docker Desktop
  • 启用WSL 2:在Docker Desktop设置中,选择WSL 2作为默认的Linux内核。
  • 设置资源限制:在Docker Desktop设置中,调整CPU、内存和磁盘的使用限制。

5.2 在macOS上安装Docker

使用Docker Desktop
  1. 下载Docker Desktop

  2. 安装Docker Desktop

    • 打开下载的.dmg文件,将Docker拖到应用程序文件夹。
    • 启动Docker应用程序,等待Docker

引擎启动。

  1. 验证安装
    • 打开终端,执行docker --version命令,确认Docker版本。
配置Docker Desktop
  • 设置资源:在Docker Desktop设置中,调整CPU和内存的使用限制。
  • 启用文件共享:在Docker Desktop设置中,配置文件共享路径。

5.3 在Linux上安装Docker

使用包管理器安装Docker
  1. 更新系统包管理器

    sudo apt-get update  # Debian/Ubuntu
    sudo yum update      # CentOS/RHEL
    
  2. 安装Docker

    • Debian/Ubuntu

      sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
      sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
      sudo apt-get update
      sudo apt-get install docker-ce
      
    • CentOS/RHEL

      sudo yum install -y yum-utils
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      

      上面是官方提供的地址,由于某些原因可能访问不上,可以使用阿里云提供的仓库地址:

      yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      
      
  3. 启动Docker服务

    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. 验证安装

    docker --version
    docker run hello-world
    
配置Docker用户权限
  • 将当前用户添加到Docker组,以便不需要sudo运行Docker命令:

    sudo usermod -aG docker $USER
    
配置Docker镜像加速器

你会发现,上面的** docker run hello-world**可能运行不成功,原因就是无法从Docker仓库下载到镜像,那就需要我们自己配置一个地址,目前比较靠谱的方案是使用阿里云的容器镜像服务,就会生成一个私有的镜像地址,并且阿里云后台也会生成配置镜像加速器的过程。如下图:

在这里插入图片描述
后面就可以愉快地使用Docker了。

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值