大家好,我是可爱的Cherry,今天来跟大家聊聊Docker。
我已经发布了近65期的Docker相关文章,大部分项目都是使用Docker CLI或者Docker-Compose来部署的。有些朋友反馈说作业难度太大,不知道该如何操作。所以这期我就来专门介绍一下Docker的入门知识。
我们先来了解一下Docker CLI。包含三大层级:docker cli、docker-compose和dockerfile。
本文的目的是为了让刚入门的NAS玩家更通俗易懂地理解Docker的使用。所以不会介绍复杂的知识,甚至可能会出现一些专业性的错误,希望大家谅解。
我们的目标仅仅是在NAS上跑一些工具,一些用不上的知识和工具,我们就不介绍了,比如K8s,还有LXCLXD等等。
在介绍容器之前,我们先来了解一下容器化,再来讲虚拟化。那我就先不介绍了。记住,我们这块地叫做宿主机。那么这些池塘、房子、沙滩呢,我们叫容器。
请看图片,举个例子:灰色框是我们的NAS,白色大圈是Docker,不同颜色的方块则是Docker容器,白色小圈是服务/套件。容器的呈现就是一个大方块套大圈,大圈套小方块的套娃式结构。
这就是容器化技术,将所有的服务封装在一个小小的圈子里自成生态,生态内可以自洽,生态外也可以通过一定方式衔接。再举个例子,就像在Windows上装个软件,缓存在C盘,数据在D盘,资料在tmp下。而Docker呢,主打一个在一起,大致分为:镜像、容器、卷、网络四大块。每一块都是一个独立个体,只要删除,不管装了啥全都给你丢垃圾粉碎机里,一点不影响宿主机。我想,这也是很多人喜欢用Docker的原因。
基本上所有的NAS都可以使用Docker。不管你是WinNAS、MacNAS、ARM派,还是Unraid等等。因为Docker在Linux、Windows、ARM架构、MacOS系统上都有支持并且很成熟。
亲爱的读者们,你是否遇到过这样的情况:有些项目作者并未将他们的项目打包成docker容器镜像,这似乎在给想要使用docker进行容器化的我们带来困扰。但实际上,我们仍然有一种方法可以实现这个目标,那就是使用Dockerfile文件。
Dockerfile是一种文本文件,其中包含了一系列构建镜像所需要的指令和配置信息。我们可以通过docker build指令,将Dockerfile文件内的指令生成一个本地镜像,进而生成docker容器。这对于那些只提供了Dockerfile文件的项目来说,无疑是一种。
具体步骤是怎样的呢?你需要来到Dockerfile文件所在的目录。假设该文件位于/path目录下,你可以使用cd /path命令进入该目录。然后,运行docker build -t homebox:local .命令,将Dockerfile文件生成一个名为homebox:local的镜像。之后,你就可以像使用普通镜像一样使用它了。
虽然Dockerfile带来了方便,但我也并不建议频繁使用。这是因为Dockerfile中的RUN指令会增加容器镜像的体积,动则占用2、3G的空间。为了获取最小体积的镜像,我们常常需要使用alpine这样的基础镜像,它因为内置包少,需要我们手动安装大量工具。而在国内环境下,即使使用proxy代理,在Dockerfile生成的过程中也可能无效,安装过程可能会因为网络问题而中断。频繁更换node、php、debian等平台、工具国内源的操作也十分繁琐复杂。
作为一名NAS玩家和Docker爱好者,我深知项目部署的重要性。之前写文章时,可能更多地关注了经验丰富的读者而简化了项目部署的过程。但这并不意味着我没有考虑到仍有许多docker新人在尝试摸索这个过程。这次写这篇文章的目的就是希望在发现更多有趣的项目的能够帮助更多的NAS玩家更好地使用NAS和Docker。
如果你对这篇文章有所收获或者感兴趣的话,不妨点下收藏和关注吧!这样我们可以更方便地进行交流和分享有趣的内容。在评论区讨论留言的你们也是我进步的动力来源之一。我会定期更新关于NAS使用方法、开源软件和Docker软件的使用技巧以及游戏与生活相关内容。让我们一起学习进步吧!同时感谢大家的关注、点赞和留言支持!本文仅为交流讨论之用,欢迎理流和谐讨论!