在 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,并提升开发效率。

相关推荐
弓弧名家_玄真君7 分钟前
Ubuntu 20.04.3 LTS 安装vnc (Xfce4 + Xvfb)
linux·运维·ubuntu
唐·柯里昂7981 小时前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建
哲Zheᗜe༘1 小时前
学习K8S-Deployment资源对象
docker·容器·kubernetes
生活爱好者!1 小时前
【影视项目】NAS 部署稳定视频订阅源咪咕
服务器·网络·docker·容器·音视频
国家不保护废物1 小时前
RAG + Agent + Prompt工程中
docker·llm·aigc
天命码喽c2 小时前
Docker-compose部署GraphRAG-2.7.0
运维·docker·容器
你的坚持终将美好,3 小时前
Docker 中一起启动多个容器脚本
docker·容器
像风一样自由20204 小时前
Docker 与 Docker Compose:从零开始的容器化之旅
运维·docker·容器
血小溅4 小时前
Springboot项目Docker 多平台构建指南
后端·docker
家家小迷弟4 小时前
docker容器内部安装python和numpy的方法
python·docker·numpy