13
2024
11
16:49:05

在群晖上用多种方式运行Docker容器

在群晖上有多种方式运行Docker容器,直接使用Container Manager在注册表中下载镜像再启动容器是最直观的方法。群晖上还有别的方式来启动容器,对比直接在Container Manager上运行有优点也有缺点,下面一起来看看

Container Manager项目

首先来看看第一种方式,通过Container Manager中的项目来运行容器。它的原理是通过docker-compose配置文件下载镜像并运行容器

在运行容器之前,先创建好容器需要存放的文件夹,这里以memos容器为例。打开File Station,在docker共享文件夹下新建memos文件夹

在群晖上用多种方式运行Docker容器

打开Container Manager,在项目新增一个项目

在群晖上用多种方式运行Docker容器

路径中选择docker文件夹,来源选择创建docker-compose.yml文件,这样就可以在下面的输入框中输入docker-compose命令了

在群晖上用多种方式运行Docker容器

简单解释下这段docker-compose命令代表的意思

  • image: neosmemo/memos:stable:这行指定了 Docker 需要获取和运行的镜像的名称和标签。在这种情况下,Docker 会尝试从 Docker Hub 获取名为 "neosmemo/memos" 的镜像,并使用该镜像的 "stable" 标签

  • container_name: memos:这里将容器名指定为 "memos"

  • ./memos:/var/opt/memos:当前目录docker(由 . 表示)下的 "memos" 子目录被挂载到容器的 /var/opt/memos 路径上。这意味着在主机的 "./memos" 目录中的文件和目录将可在容器内的 "/var/opt/memos" 目录中直接访问

  • 5231:5230:主机的 5231 端口被映射到容器的 5230 端口,所有发送到主机的 5231 端口的流量都会被转发到容器的 5230 端口

点击下一步后,如果不需要设置网页门户,则不用勾选

在群晖上用多种方式运行Docker容器

最后点击完成,就能在弹出窗中看到执行的日志

在群晖上用多种方式运行Docker容器

启动成功后,就是绿色的标志

在群晖上用多种方式运行Docker容器

容器选项下,也能看到启动的memos容器

在群晖上用多种方式运行Docker容器

打开File Station的docker文件夹,有 一个新的yaml文件被创建,里面的内容其实就是前面那段docker-compose命令

在群晖上用多种方式运行Docker容器

使用Container Manager项目创建容器的好处和运行命令行操作docker-compose文件一样,非常简单,如果需要同时启动互相依赖的两个或多个容器十分方便,只需编辑好一个docker-compose文件就可以完成复杂项目的构建

任务计划

通过群晖的任务计划也可以执行docker命令。任务计划并不是用来启动容器的,它是一个定时任务,可以把它理解为简单版的青龙脚本

可以在控制中心找到任务计划选项

在群晖上用多种方式运行Docker容器

如果想把输出结果保存下来,可以在计划任务设置中选择一个文件夹位置进行保存

在群晖上用多种方式运行Docker容器

点击新增按钮来创建一个新的任务。如果要运行docker命令,则需要选择用户账号为root,否则没有执行权限

在群晖上用多种方式运行Docker容器

计划中的配置不用更改,因为不需要周期性去执行这个脚本

在群晖上用多种方式运行Docker容器

最后就是在任务设置中填入脚本,这里的脚本就是docker命令了,这和前面的docker-compose文件类似,都是拉取镜像启动容器。需要注意的是这里docker命令必须要把映射路径设置为memos文件夹的全路径/volume1/docker/memos

在群晖上用多种方式运行Docker容器

最后点击确定,就会开始运行当前脚本了。等到镜像拉取完毕,可以点击查看结果,没有错误就证明执行成功

在群晖上用多种方式运行Docker容器

同样可以在Container Manager中发现新的memos容器被启动

在群晖上用多种方式运行Docker容器

因为任务计划的脚本会周期性执行,所以执行完docker脚本后,建议把脚本删除或禁用。在任务计划中执行命令和在控制面板打开SSH执行命令类似,只是少了一步连接SSH的操作

相比较而言,这种方式运行容器就没有使用docker-compose配置文件那么直观。当然和直接在Container Manager手动下载镜像并设置映射相比较要简单很多。但是需要注意映射文件夹的路径一定是要全路径,不要运行一些未知的脚本,使用root用户代表最高权限,在运行了其他不安全的脚本时,可能会导致数据丢失或者被植入木马病毒等风险

SSH

群晖的控制面板可以打开SSH功能,这样可以通过终端直接连接到群晖进行命令行操作

在群晖上用多种方式运行Docker容器

连接后可以同样执行docker命令,或者用docker-compose文件来启动容器,具体的操作可以看下面这篇文章

文章
群晖Container Manager到Docker容器技术
2023-12-30
14

后记

不管是通过Container Manager项目运行容器还是在任务计划中手动执行计划,其实都是执行的Docker相关命令,只是群晖通过图形化界面进行了封装,让普通用户操作更方便、更容易理解




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/8424.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: