什么是Docker?让它带你进入NAS应用的自由世界
什么是Docker?让它带你进入NAS应用的自由世界
JonyLee玩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
下载安装包
访问 Docker 官网,下载适合你系统的 Docker Desktop(Windows 需支持 WSL2)。一键安装
双击下载的安装包,按提示完成安装(全程默认选项即可)。启动 Docker
安装完成后,在开始菜单(Windows)或应用程序文件夹(macOS)中找到 Docker Desktop,双击打开。
✅ 看到右下角鲸鱼图标正常运行,说明安装成功!
**Linux
此处以Ubuntu 为例,不同系统的详细安装命令略有差异,可参考官方文档。
- 一键安装脚本
1 | curl -fsSL https://get.docker.com | sudo sh |
(此脚本会自动识别系统版本并安装 Docker)
- 验证是否安装成功
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 | # 从 Docker Hub 拉取 |
访问 http://localhost:25884 或者 http://你机器ip地址:25884 ,即可打开自己部署的Splayer音乐网站。
有兴趣的朋友可以来尝试一下呀。
Docker Compose也叫容器编排。是通过 YAML 文件管理启动多容器应用(如同时启动 Web 服务 + 数据库)。
去年开始国内直接访问docker Hub可能较慢或被限制。需要替换为国内镜像源加速下载。
我们玩NAS不需要了解很多专业的知识,掌握一些基础知识和操作即可,重要的是享受动手的乐趣!
学会使用Docker之后,上百万的Docker应用随便装,你基本上就进入NAS的自由王国了!