我是基于ChatGPT-turbo-3.5实现的AI助手,在此网站上负责整理和概括文章

本文介绍了Docker在不同操作系统上的安装方法,包括前提条件、Windows 10安装、Ubuntu和CentOS系统的APT及YUM安装方式,并提供了Docker Compose插件的安装指南。文章还涵盖了Docker的配置文件设置、镜像仓库加速配置以及卸载步骤,详细说明了如何开启实验特性、配置存储选项和调整日志参数。摘要强调了兼容性要求和安装过程中的关键命令,确保用户能够顺利部署和管理Docker环境。

# 前提条件

  • Docker支持以下的CentOS版本:
    • 目前,CentOS 仅发行版本中的内核支持 Docker。
    • Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
    • Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

# 查看内核

  • uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

    $ uname -r
    3.10.0-957.21.3.el7.x86_64
    
    $ cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core) 
    
    $ lsb_release -a(CentOS6.8有,CentOS7无该命令)
  • 查看已安装的CentOS版本信息

# Docker安装

# 下载

# Windows 10 安装 Docker

Docker Desktop for Windows 支持 64 位版本的 Windows 10 Pro,且必须开启 Hyper-V(若版本为 v1903 及以上则无需开启 Hyper-V),或者 64 位版本的 Windows 10 Home v1903 及以上版本。

  • 手动下载安装: 点击以下 [链接](https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe) 下载 Docker Desktop for Windows。下载好之后双击 Docker Desktop Installer.exe 开始安装。

  • 使用 winget 安装

    $ winget install Docker.DockerDesktop

# APT安装

  • 登录到 Ubuntu 22.04 /20.04 系统,并运行以下 APT 命令以安装 Docker 依赖项

    sudo apt install -y ca-certificates curl gnupg lsb-release apt-transport-https curl software-properties-common
  • 启用 Docker 官方存储库

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 国内源 软件源的 GPG 密钥(我用的中科大)

    # 中科大
    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
    # 向 source.list 中添加 Docker 软件源
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    
    # 阿里源
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    
  • 使用 Apt 命令安装 Docker, 我们将安装社区版,运行下面的命令

    $ sudo apt-get update
    $ sudo apt install docker-ce docker-ce-cli containerd.io -y
    # 也可以指定版本安装
    sudo apt-get install docker-ce=<VERSION>
  • docker 包安装完成后,请将本地用户加入 docker 组,以便该用户无需 sudo 即可执行 docker 命令

    $ sudo usermod -aG docker $USER
    $ newgrp docker
  • 通过执行以下命令验证 Docker 版本

    $ docker version
  • 验证 docker 守护进程服务状态,执行 systemctl 命令

    sudo systemctl status docker
  • 验证和测试 Docker

    docker run hello-world
  • 卸载 Docker

    sudo apt-get remove docker docker-engine docker.io containerd runc -y
    # 删除所有映像、容器和数据卷:
    sudo rm -rf /var/lib/docker 
    sudo rm -rf /var/lib/containerd

# YUM安装

  • 安装docker-ce环境依赖

    yum install -y yum-utils device-mapper-persistent-data lvm2 
  • 添加dockerce源

    # 阿里云
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装docker

    # 安装 Docker CE docker-ce-cli 作用是docker命令行工具包
    yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
    # 开机启动
    systemctl enable docker
    
    # 启动
    systemctl start docker
    systemctl status docker
  • 卸载 Docker

    # 停止并删除所有正在运行的 Docker 容器:
    sudo docker stop $(docker ps -aq)
    sudo docker rm $(docker ps -aq)
    
    # 卸载 Docker 包和依赖项:
    sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
    
    # 删除 Docker 数据目录:
    sudo rm -rf /var/lib/docker
    
    # 如果需要,卸载 Docker Engine 社区版存储库:
    sudo yum remove -y docker-ce-cli.x86_64
    sudo rm -f /etc/yum.repos.d/docker-ce.repo

# 安装docker-compose插件

docker-compose是docker的一款插件,常用来定义和运行多容器的docker应用

docker-compose安装方式的主要可以分为两种,一是使用docker仓库进行安装,而是手动方式安装。

# 使用docker仓库安装

# 如果没有安装过docker主程序,可以在安装docker主程序的时候一并安装docker-compse
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 如果事前安装过docker主程序,可以选择只安装docker-compse
sudo yum -y install docker-compose-plugin

直接运行docker-compose命令会报错,提示命令找不到,这是因为docker-compose命令被安装到了/usr/libexec/docker/cli-plugins目录下,而这个目录默认不在path路径下,将/usr/libexec/docker/cli-plugins目录下的docker-compose命令复制或移动到/usr/bin目录下即可。

cp /usr/libexec/docker/cli-plugins/docker-compose /usr/bin

# 手动安装

下载到指定目录,建议直接放到path路径下,比如/usr/bin目录。

sudo curl -SL https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-x86_64 -o /usr/bin/docker-compose

# 赋予执行权限。

sudo chmod +x /usr/bin/docker-compose

通过docker-compose version命令验证是否安装成功,出现版本信息就是成功了。

[root@centos7 ~]# docker-compose version
Docker Compose version v2.18.1

# 一键安装

sudo yum install -y curl
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)

# docker卸载

  • 卸载软件包

    yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
  • 删除服务注册文件

    rm -rf /etc/systemd/system/docker.service.d
  • 删除docker库和运行文件

    # 删除docker库
    rm -rf /var/lib/docker
    # 删除运行文件
    rm -rf /var/run/docker

# 开启实验特性

一些 docker 命令或功能仅当 实验特性 开启时才能使用,请按照以下方法进行设置。

# Docker CLI 的实验特性

v20.10 版本开始,Docker CLI 所有实验特性的命令均默认开启,无需再进行配置或设置系统环境变量。

# 开启 dockerd 的实验特性

编辑 /etc/docker/daemon.json,新增如下条目

{
  "experimental": true
}

# Docker的配置文件

{
  "bip": "192.168.88.0/22",
  "data-root": "/var/lib/docker",
  "debug": true,
  "dns": ["192.168.1.1"],
  "registry-mirrors": ["https://dockerproxy.com"],
  "insecure-registries": ["120.123.122.123:12312"],
  "log-opts": {
    "max-file": "3",
    "max-size": "10m"
  },
  "storage-opts": [
    "overlay2.override_kernel_check=true",
    "overlay2.size=15G"
  ]
}
参数 作用
bip "192.168.88.0/22" 指定 Docker 网桥(docker0)的 IP 地址范围,避免与主机网络冲突。
data-root "/var/lib/docker" 设置 Docker 存储镜像、容器、卷等数据的根目录(默认路径)。
debug true 启用 Docker 守护进程的调试模式,输出更详细的日志信息。
dns ["192.168.1.1"] 指定容器使用的 DNS 服务器地址(覆盖默认 /etc/resolv.conf)。
registry-mirrors ["https://dockerproxy.com"] 设置镜像加速源,提升拉取镜像的速度(如国内镜像源)。
insecure-registries ["120.123.122.123:12312"] 允许通过 HTTP(非 HTTPS)访问私有镜像仓库(适用于内网或测试环境)。
log-opts {"max-file": "3", "max-size": "10m"} 限制容器日志文件的大小(单个文件 10MB)和数量(最多 3 个文件)。
storage-opts ["overlay2.override_kernel_check=true", "overlay2.size=15G"] 配置存储驱动选项: - 跳过内核版本检查 - 限制存储层大小为 15GB。

# docker镜像仓库

国内下载镜像慢,设置docker的镜像仓库为国内的镜像地址

curl -sSL https://www.geekery.cn/sh/docker/set_docker_mirror.sh | bash
{
  "registry-mirrors": [
       "https://hub.icert.top/",
       "https://ghcr.geekery.cn"
  ],
  "exec-opts": [
    "native.cgroupdriver=systemd"
  ],
  "max-concurrent-downloads": 10,
  "max-concurrent-uploads": 5,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "iptables": false,
  "storage-driver": "overlay2"
}
# 重启
systemctl daemon-reload
systemctl restart docker
# 使用docker info命令查看镜像仓库信息
docker info
更新于

请我喝[茶]~( ̄▽ ̄)~*

Fulsun 微信支付

微信支付

Fulsun 支付宝

支付宝