在 Ubuntu 上安装和配置 Docker 的完整指南

Docker 是一个开源的平台,旨在简化应用程序的开发、部署和运行。通过将应用程序及其依赖项打包到容器中,Docker 确保应用程序可以在任何环境中一致地运行。

目录

  1. 前言
  2. 安装前的准备
  3. [安装 Docker](#安装 Docker)
    • [步骤 1:更新包索引](#步骤 1:更新包索引)
    • [步骤 2:安装必要的依赖包](#步骤 2:安装必要的依赖包)
    • [步骤 3:添加 Docker 的官方 GPG 密钥](#步骤 3:添加 Docker 的官方 GPG 密钥)
    • [步骤 4:添加 Docker 的 APT 仓库](#步骤 4:添加 Docker 的 APT 仓库)
    • [步骤 5:更新包索引](#步骤 5:更新包索引)
    • [步骤 6:安装 Docker CE 及相关组件](#步骤 6:安装 Docker CE 及相关组件)
    • [步骤 7:启动并设置 Docker 开机自启动](#步骤 7:启动并设置 Docker 开机自启动)
    • [步骤 8:验证 Docker 是否安装成功](#步骤 8:验证 Docker 是否安装成功)
  4. [配置 Docker](#配置 Docker)
    • [将当前用户添加到 Docker 用户组](#将当前用户添加到 Docker 用户组)
    • [配置国内镜像源以加速 Docker 拉取](#配置国内镜像源以加速 Docker 拉取)
  5. [常用的 Docker 命令](#常用的 Docker 命令)
  6. 结论

前言

在现代软件开发中,容器化技术已成为主流。Docker 作为领先的容器化平台,提供了轻量级、可移植和自给自足的环境,使开发者能够更高效地构建和部署应用程序。


提醒

版本更新会导致获取官方 GPG 密钥的方式失败,大家可以结合 Docker 官方安装文档一起配置。


安装前的准备

在开始安装 Docker 之前,建议确保系统已更新,以避免可能的兼容性问题。

bash 复制代码
sudo apt update
sudo apt upgrade -y

安装 Docker

以下是在 Ubuntu 上安装 Docker 的详细步骤:

步骤 1:更新包索引

bash 复制代码
sudo apt update

步骤 2:安装必要的依赖包

bash 复制代码
sudo apt install apt-transport-https ca-certificates curl software-properties-common

步骤 3:添加 Docker 的官方 GPG 密钥

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

如果上述命令失败,可以使用阿里云的 Docker 源:

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc

步骤 4:添加 Docker 的 APT 仓库

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

如果上述命令失败,可以使用阿里云的 Docker APT 仓库:

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

步骤 5:更新包索引

bash 复制代码
sudo apt update

步骤 6:安装 Docker CE 及相关组件

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

步骤 7:启动并设置 Docker 开机自启动

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

步骤 8:验证 Docker 是否安装成功

bash 复制代码
docker --version

配置 Docker

将当前用户添加到 Docker 用户组

bash 复制代码
sudo usermod -aG docker $USER

配置国内镜像源以加速 Docker 拉取

示例(不可用,下方有阿里源加速器 ID 获取方式):

bash 复制代码
sudo mkdir -p /etc/docker
bash 复制代码
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.cn-hangzhou.aliyuncs.com"
  ]
}
EOF
bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里源加速器 ID 的获取方式,点击镜像加速器,获取操作文档:容器镜像服务


常用的 Docker 命令

镜像操作

bash 复制代码
docker images
docker pull <image_name>
docker rmi <image_id>

容器操作

bash 复制代码
docker ps -a
docker run -it ubuntu bash
docker stop <container_id>
docker rm <container_id>

网络和端口

bash 复制代码
docker network ls
docker inspect <container_id>

Docker Compose

bash 复制代码
docker compose up -d
docker compose ps
docker compose down

系统资源管理

bash 复制代码
docker stats
docker system prune -a

结论

本指南介绍了如何在 Ubuntu 上安装和配置 Docker,以及常用的 Docker 命令。希望这篇文章能帮助你更快上手 Docker,并提升开发效率。

相关推荐
love530love2 分钟前
Docker 稳定运行与存储优化全攻略(含可视化指南)
运维·人工智能·windows·docker·容器
人生匆匆18 分钟前
docker进入启动失败的容器
运维·docker·容器
bemyrunningdog1 小时前
Mock数据
linux·运维·ubuntu
Winner13002 小时前
Debian、Buildroot 和 Ubuntu 都是基于 Linux 的系统区别
linux·ubuntu·debian
魂尾ac4 小时前
Centos Docker 安装(100%成功)
linux·docker·centos
Johny_Zhao11 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
zwjapple11 小时前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker
一心09212 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上12 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
代码老y13 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器