百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

nanshan 2024-10-10 07:15 22 浏览 0 评论

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

Container Manager项目

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

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

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

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

简单解释下这段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 端口

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

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

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

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

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

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

任务计划

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

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

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

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

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

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

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

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

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

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

SSH

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

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

群晖Container Manager到Docker容器技术

后记

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

相关推荐

实战派 | Java项目中玩转Redis6.0客户端缓存

铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...

轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)

1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...

Redis与本地缓存联手:多级缓存架构的奥秘

多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...

腾讯云国际站:腾讯云服务器如何配置Redis缓存?

本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...

Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?

你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...

【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案

在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...

Spring boot 整合Redis缓存你了解多少

在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...

揭秘!Redis 缓存与数据库一致性问题的终极解决方案

在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...

高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局

一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...

Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决

缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...

Redis中缓存穿透问题与解决方法

缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...

Redis客户端缓存的几种实现方式

前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...

腾讯云国际站:腾讯云怎么提升服务器速度?

本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...

雷霆一击服务器管理员教程

本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...

取消回复欢迎 发表评论: