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
相关推荐
高山莫衣6 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维6 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
lovely_nn6 小时前
docker 介绍
docker·k8s
Ahlson6 小时前
【fnNAS】docker的nginx配置html
nginx·docker·容器·fnnas
LuckyLay6 小时前
Compose 常用命令详解——AI教你学Docker
docker·容器·eureka
moppol7 小时前
容器化 vs 虚拟机:什么时候该用 Docker?什么时候必须用 VM?
运维·docker·容器
没有名字的小羊7 小时前
7.可视化的docker界面——portainer
docker·容器·eureka
谷新龙0017 小时前
大数据环境搭建指南:基于 Docker 构建 Hadoop、Hive、HBase 等服务
大数据·hadoop·docker
木头左9 小时前
Windows环境下Docker容器化的安装与设置指南
windows·docker·容器
慢热型网友.9 小时前
用 Docker 构建你的第一个 Python Flask 程序
python·docker·flask