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
相关推荐
孤岛悬城33 分钟前
44 Docker:安装与容器管理
docker·容器·云计算
眠りたいです1 小时前
Docker:Docker image常用命令使用及实操
运维·docker·容器·eureka·镜像
可爱又迷人的反派角色“yang”1 小时前
docker基本概念(一)
linux·运维·docker·容器
CHINAHEAO1 小时前
Docker 安装Bagisto详细过程
运维·docker·容器
RemainderTime1 小时前
(十)Spring Cloud Alibaba 2023.x:生产级 CI/CD 全链路实战(从 Dockerfile 到 Jenkins)
运维·spring cloud·ci/cd·docker·jenkins
Radan小哥2 小时前
Docker学习笔记—day013
笔记·学习·docker
mr_orange_klj2 小时前
关于docker远端缓存的AI问答(豆包)
docker
tzhou6445211 小时前
Docker容器技术指南
运维·docker·容器
java_logo14 小时前
Crawl4AI Docker 容器化部署指南
运维·docker·容器·crawl4ai·crawl4ai部署文档·crawl4ai部署教程·crawl4ai部署
程序员老赵16 小时前
Supabase Postgres Docker 容器化部署指南
docker·postgresql