前提条件

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

查看内核

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

    1
    2
    3
    4
    5
    6
    7
    $ 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版本信息

下载

APT安装

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

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

    1
    2
    3
    $ 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 密钥(我用的中科大)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 中科大
    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, 我们将安装社区版,运行下面的命令

    1
    2
    3
    4
    $ 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 命令

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

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

    1
    sudo systemctl status docker
  • 验证和测试 Docker

    1
    docker run hello-world
  • 卸载 Docker

    1
    2
    3
    4
    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环境依赖

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 安装 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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 停止并删除所有正在运行的 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镜像仓库

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

1
sudo vim /etc/docker/daemon.json
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://3laho3y3.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
1
2
3
4
# 重启
systemctl restart docker
# 使用docker info命令查看镜像仓库信息
docker info

安装docker-compose插件

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

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

使用docker仓库安装

1
2
3
4
5
# 如果没有安装过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目录下即可。

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

手动安装

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

1
2
3
4
5
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命令验证是否安装成功,出现版本信息就是成功了。

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