Skip to content

介绍

widows 和 MacOS 都是图形化的安装包, 字需要直接双击就可以了 但是linux确需要使用命令去安装, 而且不同发行版本的linux是不同的, 所以我会介绍2中主流的linux发行版

  • centos
  • debian12

查看系统内核版本

sh
uname -a

# 输出如下信息:
# Linux localhost 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

# 3.10.0-1127.el7.x86_64 系统内核大于 3.0 才可以支持最新版的 docker-ce

CentOS9 安装 Docker

shell
# 1. 删除旧版本 docker
sudo dnf remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

# 2. 安装一些必要的工具
sudo dnf -y install dnf-plugins-core

# 3. 添加软件源信息
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4. 安装 docker 和 docker-compose 最新版本
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 5. 开启 docker 服务
sudo systemctl enable --now docker

# 7. 查看版本信息 && 确定安装成功
sudo docker version

卸载 Docker

shell
# 删除docker
sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 删除docker的其他文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Debian12 安装 Docker

sh
# 添加 docker 软件包
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 将下载链接添加到apt包管理器配置文件中
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新 apt 软件源
sudo apt-get update

# 安装 docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 查看 docker 信息, 确保安装成功
sudo docker version

卸载 docker

sh
# 删除软件
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 删除其他文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 删除软件包信息(可选,可以不删除,以便下次安装 docker)
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc

配置镜像加速

由于大陆之前封禁了 docker 网络, 导致无法直接使用需要配置镜像

shell
# 1. 新建 docker 配置文件目录
sudo mkdir -p /etc/docker

# 2. 配置加速地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "log-driver":"json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "5"
  },
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://dockerhub.azk8s.cn",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.1panel.live",
    "https://atomhub.openatom.cn/",
    "https://hub.uuuadc.top",
    "https://docker.anyhub.us.kg",
    "https://dockerhub.jobcher.com",
    "https://dockerhub.icu",
    "https://docker.ckyl.me",
    "https://docker.awsl9527.cn"
  ]
}
EOF

# 3. 重启守护进程 && 重启 docker
sudo systemctl daemon-reload
sudo systemctl restart docker

可能出现的问题

需要设置开启自启动

shell
# 设置开机自启动
systemctl enable docker.service


# 关闭开机自启动
systemctl disable docker.service

sudo docker run 却显示没有权限

shell
sudo docker run hello-world

# 输出如下:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"write /proc/self/attr/keycreate: permission denied\"": unknown.
ERRO[0000] error waiting for container: context canceled

# 出现问题的原因: selinux 的权限限制
# 解决办法: 关闭 selinux 然后重启系统
sudo  vim /etc/selinux/config

# 修改以下内容:(禁用 selinux) 然后重启
SELINUX=disabled

Released under the MIT License.