在Ubuntu服务器上安装Docker(支持Ubuntu 20.04/22.04等版本):

1. 卸载旧版本(如有)

如果系统曾安装过旧版Docker,先清理残留:

bash 复制代码
sudo apt remove docker docker-engine docker.io containerd runc

2. 添加Docker官方仓库

安装依赖工具

bash 复制代码
sudo apt update
sudo apt install -y ca-certificates curl gnupg

添加Docker的GPG密钥

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

添加APT仓库

bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. 安装Docker引擎

bash 复制代码
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4. 验证安装

检查Docker版本并运行测试容器:

bash 复制代码
sudo docker --version
sudo docker run hello-world  # 若输出"Hello from Docker!"则成功

5. 配置非root用户权限(可选)

允许当前用户无需sudo执行Docker命令:

bash 复制代码
sudo usermod -aG docker $USER
newgrp docker  # 刷新用户组(或重新登录)

验证:

bash 复制代码
docker run hello-world  # 无需sudo

6. 配置镜像加速器(国内用户推荐)

修改Docker配置文件/etc/docker/daemon.json,添加镜像加速地址(如阿里云):

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://your-mirror-id.mirror.aliyuncs.com"]
}
EOF

重启Docker生效:

bash 复制代码
sudo systemctl restart docker

7. 管理Docker服务

启动/停止Docker服务:

bash 复制代码
sudo systemctl start docker   # 启动
sudo systemctl stop docker    # 停止
sudo systemctl enable docker  # 设置开机自启

8. 安装Docker Compose(可选)

若需使用Compose管理多容器:

bash 复制代码
sudo apt install docker-compose-plugin
docker compose version  # 验证

常见问题 权限拒绝错误:未将用户加入docker组时,运行docker命令需加sudo。

镜像拉取失败:检查网络或配置镜像加速器。

端口冲突:若Docker容器端口被占用,通过docker ps检查运行中的容器。

相关推荐
两点王爷1 小时前
docker 运行自定义化的服务-后端
运维·docker·容器
邪恶的贝利亚2 小时前
FFMEPG常见命令查询
linux·运维·网络·ffmpeg
搜搜秀2 小时前
find指令中使用正则表达式
linux·运维·服务器·正则表达式·bash
弧襪3 小时前
Ubuntu vs CentOS:Shell 环境加载机制差异分析
linux·ubuntu·centos
行思理4 小时前
centos crontab 设置定时任务访问链接
linux·运维·centos
阳光明媚大男孩4 小时前
24.0.2 双系统ubuntu 安装显卡驱动黑屏,系统启动界面键盘失灵
linux·ubuntu·计算机外设
再玩一会儿看代码5 小时前
[特殊字符] 深入理解 WSL2:在 Windows 上运行 Linux 的极致方案
linux·运维·windows·经验分享·笔记·学习方法
有谁看见我的剑了?5 小时前
centos7.9 升级 gcc
linux
良许Linux5 小时前
FreeRTOS大家都是怎么学的呀?
linux
东风微鸣5 小时前
Grafana将弃用AngularJS-我们该如何迁移
docker·云原生·kubernetes·可观察性