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 小时前
Ubuntu 24.04 安装 Docker
linux·ubuntu·docker
维度攻城狮2 小时前
Docker-Ubuntu安装并启动Chrome浏览器
chrome·ubuntu·docker·安装
xin_yao_xin5 小时前
Windows 下 Docker Desktop 安装教程及常用命令(2026 最新)
运维·docker·容器
rrrjqy5 小时前
用 Docker 部署远程 MySQL:从端口踩坑到权限全开(附避坑指南)
mysql·adb·docker
普通网友7 小时前
《K8s 滚动更新与回滚:详细教程》
docker·容器·kubernetes
意疏7 小时前
【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程
linux·docker
LDG_AGI7 小时前
【人工智能】OpenClaw(一):MacOS极简安装OpenClaw之Docker版
运维·人工智能·深度学习·机器学习·docker·容器·推荐算法
Monster丶6267 小时前
Docker 部署 Ollama 全流程指南:支持 CPU/GPU、生产环境可用的工程化实践
运维·人工智能·docker·容器
hkNaruto7 小时前
【Docker】关于hub.docker.com,无法打开,国内使用dockers.xuanyuan.me搜索容器镜像、查看容器镜像的使用文档
运维·docker·容器
Java陈序员7 小时前
自建 Claude Code 镜像!一站式开源中转服务!
docker·node.js·vue·claude·claude code