【Docker】搭建便捷的Docker容器管理工具 - dockerCopilot

【Docker】搭建便捷的Docker容器管理工具 - dockerCopilot

前言

本教程基于绿联的NAS设备DX4600 Prodocker功能进行搭建。前面有介绍过OneKey,而dockerCopilot便是OneKey的升级版,作者对其进行了重新命名,并且对界和功能都进行了全面的优化。

目前通过绿联自带的Docker管理器部署的dockerCopilot可能会导致绿联的Docker服务自动关闭,推荐使用SSH的方式进行部署。

简介

dockerCopilot 是一个Docker容器管理系统,它使用基于Web的界面来帮助用户管理他们的容器。它提供一个简单易用的界面来启动、停止、重启、删除和更新容器。此外,它还提供了容器的备份功能,以便用户在更换存储时可以恢复自己的容器创建参数。

部署

绿联Docker管理器部署

  1. 打开Docker管理器,在“镜像管理”中选择“本地镜像”,再选择“官方库”在“URL地址“内输入“0nlylty/dockercopilot:UGREEN​”,然后点击“确定”,等待镜像拉取。

  2. 下载完成以后,在“本地镜像”中找到它,点击“创建容器”。

  3. 勾选“创建后启动容器”,然后直接点击“下一步”。

  4. 将“基础设置”中的重启策略配置成“容器退出时总是重启容器”。

  5. 将“网络”中的“网络名称”配置成“host​”。

  6. 在NAS中创建一个目录,用于保存dockerCopilot的配置和数据,在“存储空间”内与容器的/data​目录建立映射,并配置为“读写”类型。

  7. 在“环境”中,配置好“secretKey”的值,然后点击“下一步”。

  8. 完成以上步骤后,检查一下,确认无误后直接点击“完成”。

  9. 浏览器中输入{IP}:12712​,即可访问。

SSH部署

  1. 打开“开启远程调试功能”,通过设备绑定的手机号短信验证码来申请root密码。

  2. 使用SSH工具来连接NAS,“主机”填写NAS的IP地址,“端口”是固定的922​,“用户名”是固定的root​,“密码”则是之前第1步打开“开启远程调试功能”所获得的验证码。

    这里演示使用的SSH工具是“FinalShell(https://www.hostbuf.com)”,如果你熟悉SSH,可以使用自己喜欢的工具进行连接。

  3. 添加好连接以后,在“连接管理器”中直接双击刚刚添加好的连接。

  4. 出现下图所示则表示连接成功。

  5. 在NAS中创建一个用于保存dockerCopilot数据和配置的目录。

  6. 登录绿联云社区(https://bbs.ugreengroup.com)查看自己的用户名。

  7. 通过SSH工具查询自己所创建的映射目录所在的存储空间/mnt/media_rw/{uuid}/.ugreen_nas/{userid}/{folder}​

    SSH登录后,很容易的在/mnt/​目录下找到挂载的存储,其名称一般为/mnt/dm-{index}/.ugreen_nas/{userid}/{folder}​
    其中index是一个序号,从0开始,建立了多少个存储就有多少。{userid}​是用户ID,其中userID是显然不会变化的。

    问题就出在这个index上,设备重启后,这个dm-{index}​是会变化的。

    如果你只有一个存储,那么无所谓,永远是dm-0​

    因此在命令行创建docker时,映射物理路径时,需使用/mnt/media_rw/{uuid}/.ugreen_nas/{userid}/{folder}​下的软连接路径,不能使用dm-{index}​的实际装载路径,否则一重启就完蛋。

  8. 在SSH工具中输入docker run​命令

    docker run -d --privileged -p 12712:12712 -e secretKey={password} -e DOCKER_HOST=unix:///var/run/docker.sock -e hubURL=https://docker.nju.edu.cn -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/media_rw/009b87f9-de24-493e-b9cb-527d7490a557/.ugreen_nas/200390/Docker/dockercopilot:/data --restart=always --name dockerCopilot 0nlylty/dockercopilot:UGREEN
    • -d:后台运行容器

    • --name:为容器指定一个名称

    • --restart:容器重启策略(always​:只要容器退出就重启容器)

    • --privileged:特权模式(true​:开启特权模式)

    • -p:容器内部端口绑定到指定的主机端口(12712:12712​:主机(宿主)端口:容器端口)

    • -v:工作目录映射(宿主机路径:/data​)

      ​/mnt/media_rw/009b87f9-de24-493e-b9cb-527d7490a557/.ugreen_nas/200390/Docker/dockercopilot:/data​在此路径中

      009b87f9-de24-493e-b9cb-527d7490a557”表示NAS中某个存储空间的UUID;

      200390”表示你在绿联云社区(https://bbs.ugreengroup.com)的用户名,需要根据你实际的用户名进行修改此参数;“Docker/dockercopilot”表示你在NAS中某个存储空间内所创建用于映射的工作目录,需要根据你实际创建的映射工作目录进行修改此参数;

    • 0nlylty/dockercopilot:UGREEN:镜像。

    • secretKey={password}:是登录dockerCopilot后台的访问密码,请将{password}​修改成你自己用于访问dockercCopilot后台的密码。

      PS:密码长度要大于8位,且不能为纯数字!!!

  9. 根据自己实际情况修改上述所说的docker run​命令以后,输入命令,然后回车,出现下图所示则表示成功。

  10. 浏览器中输入{IP}:12712​,即可访问。

使用

登录

  1. 网址填写ip地址或者域名,端口为固定的12712,密钥填写之前配置的secretKey的值,然后点击“OK”。

更新容器

  1. 选择需要更新的容器,点击“更新”。

    可以自己输入指定的目标版本号,更新到指定版本。

清理镜像

  1. 在“镜像”中,点击“清理镜像”。

    • 无TAG镜像

      更新完后的旧版本镜像标签都会变成None。

    • 未使用镜像

      顾名思义,就是拉取了镜像,但是未创建容器的镜像。

任务进度

  1. 在“进度”中,可以查看容器的更新进度和容器恢复进度。

备份容器

  1. 在“备份”中,点击“新建备份”。

恢复容器

  1. 在“备份”中,选择需要恢复的备份,点击“恢复”。

文章出处:https://blog.uptoz.cn/archives/sER8PJFQ
作者原创:@小小笔记大大用处 https://blog.uptoz.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载均衡集群

一、集群的基本原理 集群:数据内容是一致的,集群可以被替代 分布式:各司其职,每台服务器存储自己独有的数据,对外作为单点被访问是访问整体的数据; 分布式是不能被替代的;分布式分为MFS、GFS、…

结构体内存对齐和位段(重点)!!!

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…

数据结构栈和堆列

目录 栈: 栈的概念: 栈的实现: 栈接口的实现: 1.初始化栈: 2.入栈: 3.出栈: 4. 获取栈顶元素: 5.获取栈中有效数据的个数: 6.检测栈是否为空,如果为…

Java代码示例:演示多态特性及子类方法重写(day17)

java代码里面体现多态的特点: 第一步创建一个父类father, 然后创建子类subclasses, 最后创建一个DemoMulti, 上面的父类特有的方法不是私有的,因此子类能够继承。 新建一个父类方法Father 创建子类subclasses 在下面的代码中…

LabVIEW深度学习

目录 一、配置环境1.1、显卡选择1.2、下载显卡驱动1.3、下载并安装Anaconda1.4、配置Anaconda软件包下载服务器1.5、配置虚拟环境tf_gpu1.6、安装vscode1.7、安装tensorflow1.8、下载安装Git1.9、安装TensorFlow Object Detection API框架1.10、安装依赖的python软件包1.11、配…

Python 简单使用 RabbitMQ

一、安装 pip install pika 二、推送消息到队列中 执行pythone方法 import pika import time# 用户名和密码 user_info pika.PlainCredentials(admin,admin)# 连接服务器上的rabbitMQ服务 connection pika.BlockingConnection(pika.ConnectionParameters(127.0.0.1, 5672,…

在开源的基础上构建 AI 需要一种全新的应用程序安全方法

人工智能已经从科幻小说中涌现出来,进入了我们的日常生活。 在开源软件(OSS)模型的支持下,人工智能革命正在加速。这些模型是专为开发 AI 而制作的复杂开源代码包,使组织能够高效、大规模地部署 AI 模型。 虽然大多数…

StreamingT2V文本生成视频多模态大模型,即将开源!

1、前言 Picsart人工智能研究所、德克萨斯大学和SHI实验室的研究人员联合推出了StreamingT2V视频模型。通过文本就能直接生成2分钟、1分钟等不同时间,动作一致、连贯、没有卡顿的高质量视频。 虽然StreamingT2V在视频质量、多元化等还无法与Sora媲美,但…

【C++第二阶段】文件操作

以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 文件操作文件写入流程简单的demo写操作 文件读流程二进制写文件二进制读文件 文件操作 文件写入流程 写文件包括以下几个步骤 1.包含头文件 2.创建流对象 3.打开文件&#xff0…

大数据学习第十二天(hadoop概念)

1、服务器之间数据文件传递 1)服务器之间传递数据,依赖ssh协议 2)http协议是web网站之间的通讯协议,用户可已通过http网址访问到对应网站数据 3)ssh协议是服务器之间,或windos和服务器之间传递的数据的协议…

IP SSL的应用与安装

IP SSL,即互联网协议安全套接字层,它是一种为网络通信提供安全及数据完整性的安全协议。在网络传输过程中,IP SSL可以对数据进行加密,这样即便数据在传输途中被截取,没有相应的解密密钥也无法解读内容。这一过程如同将…

合并两个单链表

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 但行前路,不负韶华&#…

redis的键值基本操作

设置数据 首先设置键值对 删除age,会得到nil,表示这个键已经被删除掉了 判断age键还在不在 查找所有键 查找所有以me结尾的键 删除所有键 redis的键和值都是二进制存储的,所以默认不支持中文。 但是,我们重新登录客户端&#xff…

Unity自定义框架(1)-----------单例模式

前言: Unity作为一款强大的游戏开发引擎,其基础框架的设计对于项目的结构和性能有着重要的影响。其中,单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。 什么是单例模式&#xff1f…

基于深度学习的机场航拍小目标检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要:在本博客中介绍了基于YOLOv8/v7/v6/v5的机场航拍小目标检测系统。该系统的核心技术是采用YOLOv8,并整合了YOLOv7、YOLOv6、YOLOv5算法,从而进行性能指标的综合对比。我们详细介绍了国内外在机场航拍小目标检测领域的研究现状、数据集处理…

分布式唯一ID 雪花算法

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 算法具体介绍 雪花算法是 64 位 的二进制,一共包含了四部分: 1位是符号位,也就是最高位,…

大数据实验一,Hadoop安装及使用

目录 一.实验内容 二.实验目的 三.实验过程截图及说明 1、安装SSH,并配置SSH无密码登录 2、配置java环境 3.Hadoop的安装与配置 4、修改四个配置文件: 5、格式化HDFS的NameNode: 6、启动Hadoop 7、…

如何使用极狐GitLab 启用自动备份功能

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何极狐GitLab 自…

探索Flutter混淆在提高应用安全性方面的作用

在移动应用开发中,保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具,帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆,并提供了相关的操作步骤和注意事项。 📝 摘要 本…

普通Java工程可执行JAR两种打包方式探讨

文章目录 一、需求概述二、代码结构三、运行结果四、打包设置1. 一体化可执行包2. 带外部依赖lib的可执行包 五、打包运行1. 源码放送2. 打包执行3. 打包结果 一、需求概述 普通Java工程 docker-show 实现了定时打印docker应用信息,现在需要将其打包成可执行Jar部署…