⚡ Linux Debian 安装与配置 Docker

news2025/5/24 2:28:56

🐧 Linux Debian 安装与配置 Docker


📦 1. Docker 简介

Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个标准化的镜像中,然后在任何地方快速部署和运行。

Docker 利用了 Linux 的 容器技术(Namespaces 和 Cgroups) 来实现资源隔离,它相比传统虚拟机更轻量、更高效。Docker 支持微服务架构,适合用于持续集成 / 持续部署(CI/CD)流程中。


⬇️ 2. Docker 的下载安装

🧹 2.1 卸载旧版 Docker

执行以下命令卸载旧版 Docker

sudo apt remove docker docker-engine docker.io containerd runc

🔧 2.1 安装依赖

执行以下命令更新软件源并安装依赖

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

💡 -y 参数表示自动接受所有提示。

🔐 2.3 添加 Docker GPG 公钥

执行以下命令添加公钥

sudo mkidr -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | \
  sudo gpg --dearmor -o /etc/apt/leyrings/docker.gpg 

⚠️ 这里使用阿里云的镜像,避免因国内网络限制无法访问官方 GPG 公钥。

🧭 2.4 添加 Docker 软件源

执行以下命令添加 Docker 软件源

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://mirrors.aliyun.com/docker-ce/linux/debian \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

⚠️ 使用国内源(阿里云)避免官方镜像不稳定或下载失败。

📥 2.5 安装 Docker

执行以下命令安装 Docker

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plug

⚙️ 2.6 配置 Docker 服务

执行以下命令开启 Docker 服务并设置为开机自启服务

sudo systemctl start docker
sudo systemctl enable docker

✅ 2.7 验证安装

执行以下命令验证 Docker 是否成功安装

docker version
sudo docker run hello-world

⚠️本安装流程只适用于 Debian 版本的 Linux 系统,如果是 CentOS 或 Ubuntu 按照本流程安装不出意外的话会报错。其实 CentOS 和 Ubuntu 的流程整体差不多,就改一下GPG公钥和镜像源就行了。


⚙️ 3. Docker 的配置

🔁 3.1 配置镜像加速器

再没有任何配置的情况下,docker pull 是 100% 会失败的(docker run 需要 pull 的镜像也会失败)。

编辑配置文件 /etc/docker/daemon.json(如果不存在则创建):

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

添加以下内容

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.xuanyuan.me"
  ]
}

保存后执行以下命令应用配置并重启 Docker 服务:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker

🌐 3.2 设置 HTTP/HTTPS 代理

docker search 命令默认不会使用镜像加速器,而是通过终端直接访问 Docker Hub 的 API。

所以会出现即使你配置了镜像加速器,并且开启了网络代理(不仅开了KDE的,连终端的也开了),还是 dockers search 失败的情况。

所以我们需要为 Docker 服务设置系统级代理,先创建相关的配置文件

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

在 http-proxy.conf 中写入以下内容(以本地 Clash 代理端口为例):

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"

然后重启服务让配置生效:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker

⚠️docker search 命令成功运行还有一个前提条件,就是你的网络代理软件能正常工作。我这里用的是 Clash 作为网络代理,Clash相关的配置和使用方法详见
Linux Debian 安装与配置 Clash (没过审在我的垃圾箱里)


🛠️ 4. Docker 的基本用法

📦 镜像相关命令

命令说明
docker search <关键字>从 Docker Hub 搜索镜像(注意需设置代理)
docker pull <镜像名>拉取远程镜像到本地
docker images查看本地已有的镜像
docker rmi <镜像ID或镜像名>删除本地镜像

🧱 容器相关命令

命令说明
docker run -it <镜像名> /bin/bash基于镜像启动容器,并进入交互式终端
docker ps查看当前运行的容器
docker ps -a查看所有容器(包括停止的)
docker stop <容器ID或容器名>停止正在运行的容器
docker start <容器ID或容器名>启动已存在但停止的容器
docker rm <容器ID或容器名>删除指定容器

🧰 其他常用命令

命令说明
docker exec -it <容器ID或容器名> /bin/bash在运行中的容器中执行命令(常用于进入容器)
docker logs <容器ID或容器名>查看容器日志输出
docker inspect <容器ID或镜像名>获取容器或镜像的详细元信息

⚠️ 5. 注意事项

❌ WSL1 限制导致 Docker 无法运行

如果在 2.7 验证安装 的时候出现以下报错:

docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": 
dial unix /var/run/docker.sock: connect: permission denied

说明你在使用 WSL1 的系统, WSL1 本身无法运行 Docker 守护进程。建议使用 Windows 安装 Docker Desktop,或升级为 WSL2。

🐛 Linux 版本问题

如果在 2.5安装 docker 的时候出现以下报错:

E: The repository 'https://download.docker.com/linux/debian jammy Release' does not have a Release file.

说明系统不是 Debian,而可能是 Ubuntu(如 jammy 是 Ubuntu 22.04 的代号)。请确认 2.3 添加 Docker GPG 公钥2.4 添加 Docker 软件源 中添加的 GPG 公钥和软件源是否为 Debian 的版本。

🌐 Docker 镜像失效

如果在 2.7 验证安装 的时候出现以下报错:

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaitin

说明配置的 Docker 镜像失效导致无法连接上 Docker Hub,请检查 /etc/docker/daemon.json 是否配置了有效镜像:

解决方法请参考 3.1 配置镜像加速器

🕸️ Docker Search 卡住或 i/o timeout

docker search 不使用镜像加速器,直接访问 Docker API,需要配置 HTTP 代理才能正常工作,否则会因被墙而超时。

解决方法请参考 3.2 设置 HTTP/HTTPS 代理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统性能不达标,如何提升用户体验?

当系统性能不达标时&#xff0c;要想有效提升用户体验&#xff0c;必须从性能优化、前后端协同、用户感知改善、监控预警机制四个关键维度切入。其中&#xff0c;性能优化是最直接有效的策略&#xff0c;它通过代码优化、资源压缩、缓存机制、CDN加速等手段&#xff0c;显著提升…

智能守护校园“舌尖安全“:AI视频分析赋能名厨亮灶新时代

引言&#xff1a; 在校园食品安全备受关注的今天&#xff0c;一套融合视频监控管理平台与AI视频分析盒子的智能解决方案正在全国多地学校食堂悄然落地&#xff0c;为传统的"名厨亮灶"工程注入科技新动能。这套系统不仅实现了后厨操作的"透明化"&#xff0…

初步尝试AI应用开发平台——Dify的本地部署和应用开发

随着大语言模型LLM和相关应用的流行&#xff0c;在本地部署并构建知识库&#xff0c;结合企业的行业经验或个人的知识积累进行定制化开发&#xff0c;是LLM的一个重点发展方向&#xff0c;在此方向上也涌现出了众多软件框架和工具集&#xff0c;Dify就是其中广受关注的一款&…

卷积神经网络中的局部卷积:原理、对比与应用解析

【内容摘要】 本文聚焦卷积神经网络中的局部卷积&#xff0c;重点解析全连接、局部连接、全卷积与局部卷积四种连接方式的差异&#xff0c;结合人脸识别任务案例&#xff0c;阐述局部卷积的应用场景及优势&#xff0c;为理解卷积网络连接机制提供技术参考。 关键词&#xff1a…

重拾童年,用 CodeBuddy 做自己的快乐创作者

某个炎炎的夏日午后&#xff0c;阳光透过稀疏的树叶洒落在地上&#xff0c;一道道光影斑驳陆离。那时候的我们&#xff0c;还只是三五个小朋友&#xff0c;蹲坐在村头的一棵老槐树下&#xff0c;手里握着并不属于自己的游戏掌机&#xff0c;轮流按动着手柄的按键&#xff0c;在…

HarmonyOS实战:自定义时间选择器

前言 最近在日常鸿蒙开发过程中&#xff0c;经常会使用一些时间选择器&#xff0c;鸿蒙官方提供的时间选择器满足不了需求&#xff0c;所以自己动手自定义一些经常会使用到的时间选择器&#xff0c;希望能帮到你&#xff0c;建议点赞收藏&#xff01; 实现效果 需求分析 默认…

6:OpenCV—图像滤波

过滤图像和视频 图像滤波是一种邻域运算&#xff0c;其中输出图像中任何给定像素的值是通过对相应输入像素附近的像素值应用某种算法来确定的。该技术通常用于平滑、锐化和检测图像和视频的边缘。 让我们了解在讨论图像过滤技术、内核和卷积时使用的一些术语的含义。 内核 内…

pytorch语法学习

启动 python main.py --config llve.yml --path_y test -i output

5:OpenCV—图像亮度、对比度变换

1.更改图像和视频的亮度 更改亮度 更改图像的亮度是常用的点操作。在此操作中&#xff0c;图像中每个像素的值应增加/减少一个常数。要更改视频的亮度&#xff0c;应对视频中的每一帧执行相同的操作。 如果要增加图像的亮度&#xff0c;则必须为图像中的每个像素添加一些正常…

Oracle 的V$ACTIVE_SESSION_HISTORY 视图

Oracle 的V$ACTIVE_SESSION_HISTORY 视图 V$ACTIVE_SESSION_HISTORY显示数据库中的 Sampled Session 活动。 它包含每秒拍摄一次的活动数据库会话的快照。如果数据库会话位于 CPU 上或正在等待不属于等待类的事件&#xff0c;则认为该会话处于活动状态。请参阅 view 以了解有…

【Python 算法零基础 4.排序 ② 冒泡排序】

目录 一、引言 二、算法思想 三、时间复杂度和空间复杂度 1.时间复杂度 2.空间复杂度 四、冒泡排序的优缺点 1.算法的优点 2.算法的缺点 五、实战练习 88. 合并两个有序数组 算法与思路 ① 合并数组 ② 冒泡排序 2148. 元素计数 算法与思路 ① 排序 ② 初始化计数器 ③ 遍历数组…

Python:操作Excel设置行高和列宽

Python 操作 Excel:轻松设置行高与列宽 📊✨ 在处理 Excel 表格时,除了正确展示数据本身,合理设置行高与列宽也是提升可读性和专业度的关键因素。本文将带你了解如何使用 Python 的 openpyxl 库,优雅地控制 Excel 表格的排版布局,实现行高、列宽的灵活设置与自动适配! …

docker-volume-backup 备份 ragflow volumes

自定义项目名称 这里我自定义了 ragflow 项目的名称&#xff0c;修改 .env&#xff0c;添加环境配置 # 自定义项目名称 COMPOSE_PROJECT_NAMEragflow创建备份脚本配置文件 在 ragflow/docker 目录下创建文件 docker-compose-backup.yml version: 3services:backup:image: o…

Axure设计数字乡村可视化大屏:从布局到交互的实战经验分享

乡村治理正从传统模式向“数据驱动”转型。数字乡村可视化大屏作为数据展示的核心载体&#xff0c;不仅能直观呈现乡村发展全貌&#xff0c;还能为决策提供科学依据。本文以Axure为工具&#xff0c;结合实际案例&#xff0c;分享如何从零设计一个功能完备、交互流畅的数字乡村大…

算法第26天 | 贪心算法、455.分发饼干、376. 摆动序列、 53. 最大子序和

弹性算法理论基础 想清楚 局部最优 是什么&#xff0c;如果可以推导出全局最优&#xff0c;那就是正确的贪心算法 455. 分发饼干 题目 思路与解法 class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:res 0i 0j 0g.sort()s.sort()whi…

PDF处理控件Aspose.PDF教程:以编程方式将 PDF 导出为 JPG

在本节中&#xff0c;我们将探讨如何使用 Aspose.PDF 库将 PDF 文档转换为 JPG 图像。Aspose.PDF 是一个功能强大且用途广泛的库&#xff0c;专为需要以编程方式处理 PDF 文件的开发人员而设计。它提供了丰富的功能&#xff0c;可用于跨多个平台创建、编辑和转换 PDF 文档。其主…

AI大模型应用之评测篇

在看到公司对于AI 工程师 的岗位要求 &#xff1a;“能够熟练使用各种自动化评测工具与方法&#xff0c;对AI 模型的输出进行有效评估” 时&#xff0c;其实比较疑惑&#xff0c;这个是对大模型能力例如像Deepseek ,GPT-4 ,千问&#xff0c;LLAMA这些模型的能力评测&#xff0c…

力扣小题, 力扣113.路径总和II力扣.111二叉树的最小深度 力扣.221最大正方形力扣5.最长回文子串更加优秀的算法:中心扩展算法

目录 力扣113.路径总和II 力扣.111二叉树的最小深度 力扣.221最大正方形 力扣5.最长回文子串 更加优秀的算法:中心扩展算法 力扣113.路径总和II 这道题&#xff0c;让我明白回溯了到底啥意思 之前我找的时候&#xff0c;我一直在想&#xff0c;如果可以&#xff0c;请你对比…

el-form elform 对齐方式调整

如下页面表单&#xff0c;展示后就很丑。 页面表单&#xff0c;有时候我们想着最左侧的应该合理整齐的左对齐&#xff0c;右侧的表单都是右对齐&#xff0c;这样页面看起来会整洁很多。 <el-form class"w-100 a_form" style"padding: 0 15px 0px 15px"…

JESD204 ip核使用与例程分析(二)

JESD204 ip核使用与例程分析(二) JESD204时钟方案专用差分时钟对例程分析jesd204_0_transport_layer_demapperjesd204_0_sig_chkjesd204_0_clockingjesd204_0 ip核port寄存器AXI-LITE寄存器配置jesd204_phy ip核JESD204时钟方案 图3-1所示为最通用、灵活的时钟解决方案。在图…