Ubuntu安装Docker命令清单(以20.04为例)

在你虚拟机上完成Ubuntu的下载后打开终端!!!

Ubuntu安装Docker终极命令清单(以20.04为例)

bash 复制代码
# 1. 卸载旧版本(全新系统可跳过)
sudo apt-get remove docker docker-engine docker.io containerd runc

# 2. 安装基础工具
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 3. 添加Docker官方GPG密钥
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 4. 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装Docker引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 7. 验证安装
docker --version              # 查看版本
sudo docker run hello-world   # 运行测试容器

必做优化配置(解决国内环境问题)

🔧 1. 镜像加速(解决docker pull慢)
bash 复制代码
# 创建配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerhub.timeweb.cloud"
  ]
}
EOF

# 重启生效
sudo systemctl daemon-reload
sudo systemctl restart docker
💾 2. 修改数据目录(避免系统盘爆满)
bash 复制代码
# 创建新目录(假设/data是大容量磁盘)
sudo mkdir -p /data/var/lib/docker

# 修改配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "data-root": "/data/var/lib/docker"
}
EOF

# 重启服务
sudo systemctl restart docker

避坑指南(课件中的关键报错解决方案)

❌ 报错:docker.service: failed with result 'exit-code'
bash 复制代码
# 终极修复命令
sudo systemctl daemon-reload
sudo systemctl reset-failed docker.service
sudo systemctl start docker
🔑 权限问题:Got permission denied
bash 复制代码
# 将当前用户加入docker组
sudo usermod -aG docker $USER
newgrp docker  # 立即生效(或重启终端)

安装后快速检查

bash 复制代码
# 检查服务状态
sudo systemctl status docker

# 查看详细配置
docker info

# 测试运行Nginx容器
docker run -d -p 80:80 --name my-nginx nginx
# 访问 http://你的服务器IP

重要补充说明

  1. 系统要求

    • 仅支持64位系统(x86_64/amd64

    • Ubuntu版本需≥18.04(推荐20.04/22.04 LTS)

    • 内核版本≥5.4(uname -r查看)

  2. 网络准备

    bash 复制代码
    # 开放Docker端口(按需)
    sudo ufw allow 2375/tcp   # 管理端口
    sudo ufw allow 80/tcp     # 应用端口
  3. 彻底卸载Docker

    bash 复制代码
    sudo apt purge docker-*
    sudo rm -rf /var/lib/docker /etc/docker
    sudo rm /etc/apparmor.d/docker
相关推荐
db_murphy1 小时前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
mCell4 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记4 小时前
GPU运维常见问题处理
linux·运维·gpu
誰能久伴不乏5 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula6 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-6 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw7 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
勇哥的编程江湖7 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器
van叶~9 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip