在群晖上用多种方式运行Docker容器
nanshan 2024-10-10 07:15 24 浏览 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相关命令,只是群晖通过图形化界面进行了封装,让普通用户操作更方便、更容易理解
相关推荐
- 服务器数据恢复—Raid5数据灾难不用愁,Raid5数据恢复原理了解下
-
Raid5数据恢复算法原理:分布式奇偶校验的独立磁盘结构(被称之为raid5)的数据恢复有一个“奇偶校验”的概念。可以简单的理解为二进制运算中的“异或运算”,通常使用的标识是xor。运算规则:若二者值...
- 服务器数据恢复—多次异常断电导致服务器raid不可用的数据恢复
-
服务器数据恢复环境&故障:由于机房多次断电导致一台服务器中raid阵列信息丢失。该阵列中存放的是文档,上层安装的是Windowsserver操作系统,没有配置ups。因为服务器异常断电重启后,rai...
- 服务器数据恢复-V7000存储更换磁盘数据同步失败的数据恢复案例
-
服务器数据恢复环境:P740+AIX+Sybase+V7000存储,存储阵列柜上共12块SAS机械硬盘(其中一块为热备盘)。服务器故障:存储阵列柜中有磁盘出现故障,工作人员发现后更换磁盘,新更换的磁盘...
- 「服务器数据恢复」重装系统导致XFS文件系统分区丢失的数据恢复
-
服务器数据恢复环境:DellPowerVault系列磁盘柜;用RAID卡创建的一组RAID5;分配一个LUN。服务器故障:在Linux系统层面对LUN进行分区,划分sdc1和sdc2两个分区。将sd...
- 服务器数据恢复-ESXi虚拟机被误删的数据恢复案例
-
服务器数据恢复环境:一台服务器安装的ESXi虚拟化系统,该虚拟化系统连接了多个LUN,其中一个LUN上运行了数台虚拟机,虚拟机安装WindowsServer操作系统。服务器故障&分析:管理员因误操作...
- 「服务器数据恢复」Raid5阵列两块硬盘亮黄灯掉线的数据恢复案例
-
服务器数据恢复环境:HPStorageWorks某型号存储;虚拟化平台为vmwareexsi;10块磁盘组成raid5(有1块热备盘)。服务器故障:raid5阵列中两块硬盘指示灯变黄掉线,无法读取...
- 服务器数据恢复—基于oracle数据库的SAP数据恢复案例
-
服务器存储数据恢复环境:某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。服务器存储故障&分析:该RAID5阵...
- 「服务器虚拟化数据恢复」Xen Server环境下数据库数据恢复案例
-
服务器虚拟化数据恢复环境:Dell某型号服务器;数块STAT硬盘通过raid卡组建的RAID10;XenServer服务器虚拟化系统;故障虚拟机操作系统:WindowsServer,部署Web服务...
- 服务器数据恢复—RAID故障导致oracle无法启动的数据恢复案例
-
服务器数据恢复环境:某品牌服务器中有一组由4块SAS磁盘做的RAID5磁盘阵列。该服务器操作系统为windowsserver,运行了一个单节点Oracle,数据存储为文件系统,无归档。该oracle...
- 服务器数据恢复—服务器磁盘阵列常见故障表现&解决方案
-
RAID(磁盘阵列)是一种将多块物理硬盘整合成一个虚拟存储的技术,raid模块相当于一个存储管理的中间层,上层接收并执行操作系统及文件系统的数据读写指令,下层管理数据在各个物理硬盘上的存储及读写。相对...
- 「服务器数据恢复」IBM某型号服务器RAID5磁盘阵列数据恢复案例
-
服务器数据恢复环境:IBM某型号服务器;5块SAS硬盘组成RAID5磁盘阵列;存储划分为1个LUN和3个分区:第一个分区存放windowsserver系统,第二个分区存放SQLServer数据库,...
- 服务器数据恢复—Zfs文件系统下误删除文件如何恢复数据?
-
服务器故障:一台zfs文件系统服务器,管理员误操作删除服务器上的数据。服务器数据恢复过程:1、将故障服务器所有磁盘编号后取出,硬件工程师检测所有硬盘后没有发现有磁盘存在硬件故障。以只读方式将全部磁盘做...
- 服务器数据恢复—Linux+raid5服务器数据恢复案例
-
服务器数据恢复环境:某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。服务器故障&检测:服务器在运行过程中突然瘫痪,...
- 服务器数据恢复—Sql Server数据库数据恢复案例
-
服务器数据恢复环境:一台安装windowsserver操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。在windows服务器内装有SqlServer数据库。存储空间LU...
- 服务器数据恢复—阿里云ECS网站服务器数据恢复案例
-
云服务器数据恢复环境:阿里云ECS网站服务器,linux操作系统+mysql数据库。云服务器故障:在执行数据库版本更新测试时,在生产库误执行了本来应该在测试库执行的sql脚本,导致生产库部分表被tru...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
-
- 服务器数据恢复—Raid5数据灾难不用愁,Raid5数据恢复原理了解下
- 服务器数据恢复—多次异常断电导致服务器raid不可用的数据恢复
- 服务器数据恢复-V7000存储更换磁盘数据同步失败的数据恢复案例
- 「服务器数据恢复」重装系统导致XFS文件系统分区丢失的数据恢复
- 服务器数据恢复-ESXi虚拟机被误删的数据恢复案例
- 「服务器数据恢复」Raid5阵列两块硬盘亮黄灯掉线的数据恢复案例
- 服务器数据恢复—基于oracle数据库的SAP数据恢复案例
- 「服务器虚拟化数据恢复」Xen Server环境下数据库数据恢复案例
- 服务器数据恢复—RAID故障导致oracle无法启动的数据恢复案例
- 服务器数据恢复—服务器磁盘阵列常见故障表现&解决方案
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)