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

相关推荐
心之语歌32 分钟前
ubuntu24.04 搭建 java 环境服务,以及mysql数据库
linux·ubuntu
局外人LZ1 小时前
Docker轻松搭建Neo4j+APOC环境
docker·容器·neo4j
eternal__day2 小时前
微服务架构下的服务注册与发现:Eureka 深度解析
java·spring cloud·微服务·eureka·架构·maven
y1x2y38 小时前
【HITCSAPP 哈工大计算机系统期末大作业】 程序人生-Hello’s P2P
linux·程序人生·ubuntu
后端木木9 小时前
一键 Ubuntu、Debian、Centos 换源(阿里源、腾讯源等)
ubuntu·centos·debian
大数据0011 小时前
Docker慢慢学
mysql·docker·kafka·n8n
唐可盐11 小时前
解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
运维·docker·容器
Aaron.Ma12 小时前
ubuntu自定义服务自动启动
linux·服务器·ubuntu
乐观主义现代人14 小时前
centos 9/ubuntu 一次性的定时关机
linux·ubuntu·centos
泯泷15 小时前
编写 Dockerfile:从入门到精通
后端·docker·容器