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

server/2025/3/15 11:08:07/

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

目录

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

前言

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


提醒

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


安装前的准备

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

sudo apt update
sudo apt upgrade -y

安装 Docker

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

步骤 1:更新包索引

sudo apt update

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

sudo apt install apt-transport-https ca-certificates curl software-properties-common

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

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 源:

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 仓库

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 仓库:

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:更新包索引

sudo apt update

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

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

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

sudo systemctl start docker
sudo systemctl enable docker

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

docker --version

配置 Docker

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

sudo usermod -aG docker $USER

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

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

sudo mkdir -p /etc/docker
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
sudo systemctl daemon-reload
sudo systemctl restart docker

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

在这里插入图片描述


常用的 Docker 命令

镜像操作

docker images
docker pull <image_name>
docker rmi <image_id>

容器操作

docker ps -a
docker run -it ubuntu bash
docker stop <container_id>
docker rm <container_id>

网络和端口

docker network ls
docker inspect <container_id>

Docker Compose

docker compose up -d
docker compose ps
docker compose down

系统资源管理

docker stats
docker system prune -a

结论

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


http://www.ppmy.cn/server/175135.html

相关文章

软件/硬件I2C读写MPU6050

MPU6050简介 6轴&#xff1a;3轴加速度&#xff0c;3轴角速度 9轴&#xff1a;3轴加速度&#xff0c;3轴角速度和3轴磁场强度 10轴&#xff1a;3轴加速度&#xff0c;3轴角速度和3轴磁场强度和一个气压强度 加速度计具有静态稳定性&#xff0c;不具有动态稳定性 欧拉角&…

qt designer中的Spacer相关设置

在 Qt Designer 中&#xff0c;Spacer 是一种特殊的布局元素&#xff0c;用于调整界面中控件的间距或填充空白区域。Spacer 的 sizeType 属性用于控制其在布局中的伸缩行为&#xff0c;尤其是在窗口大小改变时的行为。以下是 sizeType 中各个选项的含义&#xff1a; 1. Fixed&a…

《 线程池项目:线程池背景知识与整体架构梳理》

并发与并行 并发 在单核处理器下&#xff0c;OS把CPU资源按照时间片段&#xff0c;假设一个片段10ms给一个任务&#xff08;进程、线程&#xff09;。OS在调度这些任务的时候&#xff0c;让每个任务只占用了CPU的一个时间片。也就是说&#xff0c;一个任务不能把CPU的资源一直…

LLaMA:开放且高效的基础语言模型

摘要 我们介绍了LLaMA&#xff0c;这是一系列参数规模从70亿到650亿不等的基础语言模型。我们在数万亿的标记上训练我们的模型&#xff0c;并展示了仅使用公开可用的数据集训练出最先进模型的可能性&#xff0c;而无需依赖专有和难以获取的数据集。特别是&#xff0c;LLaMA-13…

OpenWebUI项目调研对比

开源地址&#xff1a;https://github.com/open-webui/open-webui 官方文档&#xff1a;https://docs.openwebui.com/ OpenWebUI(以前称为Ollama WebUl)是一款面向大型语言模型(LLMs)的用户友好型Web界面&#xff0c;支持Ollama和兼容OpenAl的API运行。 通过一个直观的界面&a…

管控终端电脑外发文件 | 天锐蓝盾数据防泄露保护

随着信息技术的飞速发展&#xff0c;终端电脑外发文件的途径日益多样化&#xff0c;给企业的数据安全带来了前所未有的挑战。如何有效预防多种途径的外发泄露&#xff0c;确保企业宝贵的信息资产的存储以及使用已成重中之重。 天锐蓝盾终端安全管理系统通过对用户在计算机终端上…

前端面试:富文本里面, 是如何做到划词的?

实现富文本中的“划词”功能&#xff0c;通常涉及到文本的选择、用户交互和相应的操作&#xff08;例如加粗、改变颜色等&#xff09;。以下是一些实现思路和常用技术&#xff0c;可以帮助你在富文本编辑器中实现划词功能。 1. 实现文本选择 在富文本编辑器中&#xff0c;用户…

Manus “Less structure,More intelligence ”独行云端处理器

根据市场调研机构Statista数据显示&#xff0c;全球的AR/AR的市场规模预计目前将达到2500亿美元&#xff0c;Manus作为VR手套领域的领军企业&#xff0c;足以颠覆你的认知。本篇文章将带你解读Manus产品&#xff0c;针对用户提出的种种问题&#xff0c;Manus又将如何解决且让使…