什么是Docker?让它带你进入NAS应用的自由世界

玩NAS的朋友,最终都会接触到Docker,因为它的身影几乎出现在任何一个NAS操作系统上。

那么什么是Docker呢?它又有哪些作用?今天我们就来聊一下。

什么是Docker?

比如说你想要组装一台PC。传统方式你要去电脑城挑各种硬件,机箱主板电源,CPU显卡内存条,还有各种电源线连接线。买回家你还要去五金店买螺丝刀。总之是要到处买一堆需要的东西。买回来一试,有些还不一定配套。

而Docker就像是你在网上商城买成品组装机,店家把机箱主板电源等主要部件都给你装好了,未拆封的显卡内存条硬盘也给你打包好装在一起发过来,还贴心的附赠了螺丝刀等工具,收到插上就能用,完全不用担心缺零件或工具不配套。

以上是形象化的比喻,那么专业一点的说法就是:

Docker 是一种开源的容器化平台,用于将应用程序及其依赖项打包成轻量级、可移植的容器,从而简化开发、测试和部署流程。它通过容器技术实现环境一致性,确保应用在不同环境中(如开发、测试、生产)能够以相同的方式运行。

所以不管你NAS系统是群晖、极空间还是绿联,还是哪怕只是基础的Linux甚至是Windows系统,只要你有Docker,就都能安装那些支持Docker的应用。

这就极大的扩展了NAS的可玩性。毕竟不是每个厂商都有那么多精力开发维护那么多应用,更何况还有很多朋友有很多个性化的需求。

而网上开源应用千千万,大家几乎可以找到大部分可以通过Docker部署的满足你需求的应用。


Docker的核心概念

Docker有三个核心组成部分,分别是容器镜像仓库

容器(Container) 类似一个轻量级的“虚拟环境”,包含运行应用所需的代码、依赖库和配置。基于宿主机的操作系统内核运行,无需虚拟化整个操作系统,因此相比虚拟机启动更快、资源消耗更低。容器就相当于上文中组装好的电脑,可以直接使用。

镜像(Image) 是容器的静态模板,定义了运行环境和应用代码(如操作系统、软件、文件等)。镜像通过分层存储(Layer)实现高效复用,例如基于 Ubuntu 镜像安装 Python 后可以生成新镜像。而这些镜像就相当于上文说道的组装机包裹,任何人都可以直接买回家组装使用。

仓库(Registry) 是存储和管理镜像的平台,如公共仓库 Docker Hub 或私有仓库(如 Harbor)等。就相当于上文中的网上商城,提供组装机售卖服务,当然不同的是Docker仓库是免费的,是由个人上传的。


Docker 的优势

使用Docker来部署应用,简单来说,主要有以下几点优势:

🥢 环境一致性:开发、测试、生产环境使用相同镜像,避免“在我电脑上能跑啊?”的问题。
🚀 快速部署与扩展:容器秒级启动,适合微服务架构和弹性扩缩容。
🚄 资源高效利用:一台宿主机可运行数百个容器,远超传统虚拟机数量。
🗃 隔离性:每个容器独立运行,依赖库互不冲突(如 Python 2 和 Python 3 应用共存)。


Docker 如何安装

一般的NAS操作系统,都已经自带安装好了Docker,他们大部分应用商店都是Docker安装的方式。

如果直接是Linux系统,可以自己安装,Windows/Mac系统也可以安装Docker Desktop应用来使用docker。

以下是 Docker 安装的简单步骤(根据不同系统选择对应的操作):

Windows / macOS

  1. 下载安装包
    访问 Docker 官网,下载适合你系统的 Docker Desktop(Windows 需支持 WSL2)。

  2. 一键安装
    双击下载的安装包,按提示完成安装(全程默认选项即可)。

  3. 启动 Docker
    安装完成后,在开始菜单(Windows)或应用程序文件夹(macOS)中找到 Docker Desktop,双击打开。
    ✅ 看到右下角鲸鱼图标正常运行,说明安装成功!

**Linux

此处以Ubuntu 为例,不同系统的详细安装命令略有差异,可参考官方文档

  1. 一键安装脚本
1
curl -fsSL https://get.docker.com | sudo sh

(此脚本会自动识别系统版本并安装 Docker)

  1. 验证是否安装成功
1
sudo docker run hello-world

✅ 如果看到 Hello from Docker! 的输出,说明安装成功!

常见问题

Linux 安装后,每次运行 docker 命令可能需要加 sudo。可以通过以下命令避免:

1
sudo usermod -aG docker $USER  # 将当前用户加入 docker 用户组

然后重启终端即可。

完成后,你就可以愉快地用 Docker 打包和运行应用啦!🐳


部署你的第一个Docker应用

Docker应用部署,如果是NAS系统里,一般有可视化操作,可以根据各个NAS系统的教程一步步操作即可,另外还有命令行方式,以及Compose部署方式。

下面就用命令行方式,简单示例部署一个Docker应用【Splayer】,这是一个免费的在线音乐应用,详见:

它除了有客户端,也支持Docker部署,在局域网或者使用内网穿透反代后在公网浏览器使用。

1
2
3
4
5
6
7
8
# 从 Docker Hub 拉取
docker pull imsyy/splayer:latest

# 或者从 GitHub ghcr 拉取
docker pull ghcr.io/imsyy/splayer:latest

# 运行容器,
docker run -d --name SPlayer -p 25884:25884 imsyy/splayer:latest

访问 http://localhost:25884 或者 http://你机器ip地址:25884 ,即可打开自己部署的Splayer音乐网站。

微信图片_20250426141005.png

有兴趣的朋友可以来尝试一下呀。

Docker Compose也叫容器编排。是通过 YAML 文件管理启动多容器应用(如同时启动 Web 服务 + 数据库)。

去年开始国内直接访问docker Hub可能较慢或被限制。需要替换为国内镜像源加速下载。

我们玩NAS不需要了解很多专业的知识,掌握一些基础知识和操作即可,重要的是享受动手的乐趣!

学会使用Docker之后,上百万的Docker应用随便装,你基本上就进入NAS的自由王国了!