在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检查运行中的容器。

相关推荐
上邪o_O4 分钟前
Git 的基本使用指南(1)
linux·git
77qqqiqi26 分钟前
解决忘记修改配置密码而无法连接nacos的问题
java·数据库·docker·微服务
程序员JerrySUN2 小时前
OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
linux·人工智能·驱动开发·opencv·计算机视觉·缓存·音视频
wyjcxyyy2 小时前
打靶日记-RCE-labs(续)
linux·运维·服务器
Ray Song3 小时前
Linux iptables防火墙操作
linux·网络·iptables·防火墙
is08153 小时前
linux 启动流程?
linux
六点半8883 小时前
【Linux】Linux编译器-gcc/g++使用
linux·运维·服务器
东风微鸣3 小时前
GitOps:云原生时代的革命性基础设施管理范式
docker·云原生·kubernetes·可观察性
穷人小水滴3 小时前
Android 运行 deno 的新方法 (3): Termux 胖喵安初
android·linux
muzi_liii3 小时前
Linux权限
linux