2.核心概念与安装配置

核心概念与安装配置

文章目录

1、核心概念

  • 镜像(image)

    Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

  • 容器(container)

    Docker 利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例

    容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

    可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

  • 仓库(repository)

    仓库(Repository)是集中存放镜像文件的场所。

Docker整体架构及底层通信原理

Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

Docker 运行的基本流程为:

  1. 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。
  2. Docker Daemon 作为Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。
  3. Docker Engine 执行 Docker内部的一系列工作,每一项工作都是以一个 Job 的形式的存在。
  4. Job 的运行过程中,当需要容器镜像时,则从 Docker Registry 中下载镜像,并通过镜像管理驱动 Graph driver将下载镜像以Graph的形式存储。
  5. 当需要为 Docker创建网络环境时,通过网络管理驱动 Network driver 创建并配置 Docker 容器网络环境。
  6. 当需要限制 Docker容器运行资源或执行用户指令等操作时,则通过 Exec driver来完成。
  7. Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

2、安装Docker

Centos安装Docker引擎

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

  1. 确认Centos版本

    Docker 目前支持 CentOS 7 及以后的版本, 内核版本至少是3.10.

    查看操作系统版本:

    bash 复制代码
    cat /etc/redhat-release

    查看内核版本:

    bash 复制代码
    uname -r
  2. 卸载旧版本

    bash 复制代码
    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
  3. yum安装gcc相关

    bash 复制代码
    yum install -y gcc
    yum install -y gcc-c++
  4. 安装额外的软件包

    bash 复制代码
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. 设置stable镜像仓库,添加Docker文档版本的yum源

    官方的yum源安装docker比较慢, 我们配置国内比较快的yum源(阿里云)

    bash 复制代码
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  6. 更新yum软件包索引

    bash 复制代码
    yum makecache fast
  7. 安装Docker CE

    bash 复制代码
     sudo yum install docker-ce docker-ce-cli containerd.io
  8. 启动Docker

    bash 复制代码
    systemctl start docker
  9. 测试

    docker version
    docker run hello-world
    
  10. 卸载

    bash 复制代码
    systemctl stop docker
    yum remove docker-ce docker-ce-cli containerd.io
    rm -rf /var/lib/docker
    rm -rf /var/lib/containerd

阿里云镜像加速

通过自己账号进入阿里云平台的容器镜像服务,进入镜像工具下的镜像加速器,获取个人的加速器地址。

按照操作文档进行配置后重启docker。修改daemon配置文件/etc/docker/daemon.json来使用加速器

bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://*****.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

检验安装

docker run hello-world

Docker run的过程

3、Docker相关命令

  • 启动docker

    bash 复制代码
    systemctl start docker
  • 停止docker

    bash 复制代码
    systemctl stop docker
  • 启重启docker

    bash 复制代码
    systemctl restart docker
  • 查看docker状态

    bash 复制代码
    systemctl status docker
  • 开机启动docker

    bash 复制代码
    systemctl enable docker
  • 查看docker概要信息

    bash 复制代码
    docker info
  • 查看docker总体帮助文档

    bash 复制代码
    docker --help
  • 查看docker命令帮助文档

    bash 复制代码
    docker 具体命令 --help
相关推荐
漫无目的行走的月亮2 小时前
在Docker中运行微服务注册中心Eureka
docker
大道归简5 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns8025 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~5 小时前
Docker
docker·容器
疯狂的大狗6 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色6 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒6 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad
theo.wu9 小时前
使用Buildpacks构建Docker镜像
运维·docker·容器
wusam18 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
wusam21 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器