介绍
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