Linux Mint 部署 Docker 指南

前言
之前都是在服务器上部署 WordPress ,最近把小电脑刷成了 Linux Mint 系统之后,就在想本地部署 WordPress 然后使用 Cloudflare 隧道内网穿透出去当博客。
不过有了桌面环境再装 1Panel 感觉有点抽象,又不想用以前 XAMPP 那套折腾,于是决定使用 Docker ……然后又折腾了好久。
所以诞生了这篇教程:专门针对 Linux Mint 系统的 Docker 部署指南,包含镜像加速和常见问题解决方案。
阶段 1:系统准备
1.1 更新软件源
sudo apt update
作用:刷新本地软件包索引,确保后续安装的都是最新版本依赖
1.2 安装基础依赖
sudo apt install apt-transport-https ca-certificates curl gnupg
作用:建立安全的软件包传输通道和加密验证体系
组件说明:
apt-transport-https:支持通过HTTPS协议访问仓库(安全传输基础)ca-certificates:SSL证书支持(防止中间人攻击)curl:命令行下载工具(后续密钥获取必需)gnupg:GNU隐私保护工具(软件包签名验证)
阶段 2:安全配置
2.1 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
作用:建立可信软件源认证体系
技术细节:
--dearmor 参数将ASCII格式密钥转换为二进制格式,增强密钥存储安全性
2.2 查看 Linux Mint 版本对应的 Ubuntu 系统代号
Linux Mint 是基于 Ubuntu 开发,但是和 Ubuntu 有一定区别。例如在安装 Docker 时,很多教程里会写.../ubuntu $(lsb_release -cs) stable,但是在 Linux Mint 中安装 Docker 这么使用会报错。因为该指令只能获取 Linux Mint 的代号,而不是对应 Ubuntu 的代号。
例如 Mint 22.1 使用lsb_release -cs获取结果为xia,直接使用的话,会报错:
E: 仓库 “https://download.docker.com/linux/ubuntu xia Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
所以需要将其中的xia改为对应的 Ubuntu 代号。想要查看对应的 Ubuntu 代号,可以进入 Linux Mint 官网,点开 Download 下的 All Versions,在表格中找到自己的 Mint 版本,查看并记录 Package base 一栏的 Ubuntu 代号,注意只需要 Ubuntu 之后的文字,且需要全部小写。

例如 Mint 22.1 是基于 Ubuntu Noble 开发的,所以对应的 Ubuntu 代号为:noble。
2.3 配置APT软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu [对应Ubuntu系统代号] stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
作用:创建专用软件源配置文件,隔离Docker安装源
️ 注意:其中[对应Ubuntu系统代号]需要填入2.2节中查到的 Ubuntu 代号,但是只需要 Ubuntu 之后的文字,且需要全部小写。例如系统版本为 Mint 22.1 时,此处应该填写noble。
参数解析:
arch=$(dpkg --print-architecture):自动适配CPU架构(x86_64/arm64等)signed-by:指定密钥验证路径(安全机制核心)
2.4 手动修正源文件
如果在之前的安装过程中,已经使用.../ubuntu $(lsb_release -cs) stable写入了docker.list文件,此时也可以手动修改源文件,达到同样的效果。
sudo nano /etc/apt/sources.list.d/docker.list
注意:其中nano可以换成任何你喜欢的文本编辑器。
️ 修改示例:xia==>noble
原始内容:
... https://download.docker.com/linux/ubuntu xia stable
修改后(根据实际Ubuntu基础版本):
... https://download.docker.com/linux/ubuntu noble stable
阶段 3:安装核心组件
3.1 刷新软件源
sudo apt update
作用:使新配置的Docker软件源生效
3.2 安装Docker套件
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
作用:安装完整的容器化生态组件,并启用服务。
组件说明:
docker-ce:Docker 引擎本身。docker-ce-cli:一个命令行工具,可让您与 Docker 守护进程对话。containerd.io:管理容器生命周期的容器运行时。docker-buildx-plugin:这个针对Docker的扩展增强了构建镜像的能力,主要关注多平台构建。docker-compose-plugin:一个配置管理插件,可帮助使用单个 YAML 文件管理多容器 Docker 应用程序。
3.3 检查服务状态
sudo systemctl is-active docker
如果正确安装,那么该命令会返回:active
阶段 4:网络优化
4.1 配置镜像加速器
因为某些原因,国内主流镜像加速服务已陆续关闭,正常的配置镜像服务器的方法已经无法顺利拉取镜像,所以需要别的方法。
此处推荐这篇文章,写的很全面,此处建议使用文章中的方法四。我个人是使用朋友部署的 DockerHub 作为源的(即方法四),所以就没有自己部署。
在部署完毕之后,修改 Linux Mint 系统中的配置文件:
sudo nano /etc/docker/daemon.json
在配置文件中增加以下内容:
{
"registry-mirrors": [
"https://docker.xxxxxxxx" # 请替换为你自己的Worker自定义域名
]
}
4.2 应用配置
sudo systemctl daemon-reload && sudo systemctl restart docker
作用:
daemon-reload:重载systemd服务配置文件restart docker:重启Docker,应用新的镜像配置
4.3 镜像加速检测
docker info | grep -A 2 'Registry Mirrors'
作用:查看增加的镜像加速源是否成功注册
阶段 5:权限管理
5.1 添加用户到docker组
sudo usermod -aG docker $USER
newgrp docker
作用:
避免每次执行docker命令都需要sudo权限,同时保障系统安全
命令解析:
usermod -aG:附加式添加用户到指定组(保留原有组关系)newgrp:立即刷新用户组信息(无需重新登录)
验证配置:
groups | grep docker
阶段 6:完整验证
6.1 查看 Docker 版本
docker version
6.2 运行测试容器
docker run hello-world
成功标志:看到 "Hello from Docker!" 的欢迎信息
全链路验证:
- 镜像拉取(测试加速器)
- 容器创建(测试运行时)
- 输出显示(测试完整工作流)
系统适配性:本教程内容已在 Linux Mint 22.1 Xia 系统中验证,其他 Linux Mint 的发行版可参考修改。
参考资料
[1] 如何在 Linux Mint 22 上安装 Docker:分步指南
[2] 如何在 Linux Mint 21 上安装 Docker ?
[3] Docker安装问题(ubuntu 20.04 LTS)- E:存储库'https://download.docker.com/linux/ubuntu \ Release'没有发布文件。
[4] Linux Mint All Versions
[5] ## 国内无法拉取Docker镜像了?这些方法拯救你的Docker
Linux Mint 部署 Docker 指南的更多相关文章
- Linux Mint安装Docker踩坑指南
我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...
- Linux下部署docker记录(0)-基础环境安装
以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...
- linux mint运行docker
1,sudo apt-get install docker.io 或者sudo apt-get install docker* 2,安装好之后 sudo docker -d 启动进程提示: yimiy ...
- Linux怎么部署docker
Docker安装 建议在linux环境下安装Docker,window环境搭建比较复杂且容易出错,使用Centos7+yum来安装Docker环境很方便. Docker 软件包已经包括在默认的 Cen ...
- Linux下部署docker记录(1)-Volume使用
之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文 ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- 记录Linux CentOS 7系统完整部署Docker容器环境教程
笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...
- linux上部署engineercms、docker和onlyoffice实现文档协作
等了好久,这次终于下决心在局域网部署了linux系统,并安装docker和load了onlyoffice,利用engineercms进行资料管理和文档协作. 我整理了完整文档,见我的网盘. engin ...
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...
- Linux mint 17.3系统安装及常用开发办公软件部署
关于为什么选择linuxmint17.3作为个人办公开发系统的选择说明: 编者按]提起Linux系统,大家可能最先想到的就是 Linux Mint 和 Ubuntu 两个版本了.近来,开源界貌似激进了 ...
随机推荐
- 关于企业微信扫码登陆vue
关于企业微信扫码登陆vue 企业微信扫码登陆官方文档 采用的是第一种(构造独立窗口登录二维码) 对于前端来说就步骤就是 页面展示二维码 => 用户扫码登陆点击确定 => 确定之 ...
- flutter - [01] Dart概述
题记部分 一.什么是dart dart是由谷歌开发的计算机编程语言,可以被用于web.服务器.移动应用和物联网等领域的开发 dart诞生于2011年,号称要取代JavaScript.但是过去的几年中一 ...
- centos使用gcc编译c++源码文件(*.cpp)
1.检查gcc是否安装 输入g++如提示:g++: fatal error: no input files说明已经安装gcc环境 2.安装gcc环境,如已经安装略过此步骤 yum install gc ...
- API方式开发AI应用的三点总结
1. 编程式prompt 让 AI 具备类似程序的运行逻辑.把大模型当CLR使用.与传统的角色扮演提示prompt相比,此方式所需的tokens数量更少,且输出结果的准确性更高 .示例如下: 2. 语 ...
- 基于项目的协同过滤推荐算法(Item-Based Collaborative Filtering Recommendation Algorithms)
前言 协同过滤推荐系统,包括基于用户的.基于项目的息肉通过率等,今天我们读一篇基于项目的协同过滤算法的论文. 今天读的论文为一篇名叫<基于项目的协同过滤推荐算法>(Item-Based C ...
- .net 8 C# 集成 AWS Cognito SMS/Email 注册与登录
本文主要分为三个部分: 1.描述 cognito 涉及的专业术语 以及 交互流程 2..net 集成的代码 3.感想 * 阅读提示 :鼠标悬停在 章节标题 上可见 文章目录 1. Cognito 概念 ...
- 【由技及道】镜像星门开启:Harbor镜像推送的量子跃迁艺术【人工智障AI2077的开发日志010】

 项目源 ...