向导式堆栈管理器Dockge

news2024/10/7 10:22:10

在这里插入图片描述

经过申诉,目前博客的几个域名都恢复了,时间也延长到了 2033 年,后面还会不会出问题,老苏就不知道了

在这里插入图片描述


什么是 Dockge ?

Dockge 是一款时髦的、易于使用的、响应式的、自托管的 docker-compose.yaml 向导式堆栈管理器,可作为 Portainer 的替代品。使用 Dockge,您可以轻松管理compose.yaml 文件,为所有 Docker 配置需求提供一个集中的管理点。Dockge 提供了包括创建、编辑、启动、停止、重新启动和删除 Docker 配置的选项,为您的 Docker 环境提供全生命周期管理。

DockgeUptime Kuma 的创建者开发,提供了简化的用户体验,您所需的一切都可以在单个页面上方便地获得,一目了然,无需打开多个选项卡来检查日志或管理容器,确保无缝的 Docker 管理体验。

在这里插入图片描述

动图演示

在这里插入图片描述

视频演示

Dockge 功能演示

安装

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainerwatchtowerGlancesNetdata 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sockDocker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

在这里插入图片描述

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker 管理器并不支持挂载 /var/run/docker.sock 文件,所以这次我们需用命令行来安装

docker cli 安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 1.2.0

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 dockge 和 子目录
mkdir -p /volume1/docker/dockge/{data,stacks}

# 进入 dockge 目录
cd /volume1/docker/dockge

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name dockge \
   -p 5031:5001 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v $(pwd)/stacks:/volume1/docker/dockge/stacks \
   -v $(pwd)/data:/app/data \
   -e DOCKGE_STACKS_DIR=/volume1/docker/dockge/stacks \
   louislam/dockge:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3.8"
services:
  dockge:
    image: louislam/dockge:latest
    container_name: dockge
    restart: unless-stopped
    ports:
      - 5031:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - ./stacks:/volume1/docker/dockge/stackss
    environment:
      - DOCKGE_STACKS_DIR=/volume1/docker/dockge/stacks

然后执行下面的命令

# 新建文件夹 dockge 和 子目录
mkdir -p /volume1/docker/dockge/{data,stacks}

# 进入 dockge 目录
cd /volume1/docker/dockge

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5031 就能看到注册界面

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

选择已经启动的容器,会显示 这个堆栈不由 Dockge 管理

在这里插入图片描述

docker-compose 安装

针对采用 docker-compose 安装的,如果要管理现有堆栈,需要将 compose 文件移动到 stacks 目录中

【备注】:docker-compose.ymlcompose.yml 是两种常见的文件名,用于 Docker Compose 配置文件。它们在功能和使用上是相同的,只是文件名不同。

  1. 停止你的堆栈
  2. 将您的 compose 文件移至 /opt/stacks/<stackName>/compose.yaml
  3. Dockge 中,单击右上角下拉菜单中的 “扫描堆栈文件夹” 按钮
  4. 现在您应该在列表中看到您的堆栈

look scanned 为例,先停止容器

在这里插入图片描述

然后将 look scanneddocker-compose.yaml 文件复制到 stacks 目录中,并重命名了一下

在这里插入图片描述

开始扫描

在这里插入图片描述

现在就可以编辑、重启、更新、停止或者删除了

在这里插入图片描述

docker cli 安装

Dockge 只显示通过 docker-compose 安装的 stacks,不显示 docker cli 方式安装的容器,你在前面主界面看到启动了 9 个堆栈,退出了 6 个,这和 portainer 中是一致的

在这里插入图片描述

如果想用 Dockge 管理全部的堆栈和容器,就需要用到 docker run ...compose 的转换功能

还是以 look scanned 为例,安装时的 docker cli 命令是这样的

docker run -d \
   --name lookscanned \
   -p 3366:80 \
   wbsu2003/lookscanned

将启动命令复制到文本框中

在这里插入图片描述

转换为Compose格式,给堆栈一个名字

在这里插入图片描述

可以保存

在这里插入图片描述

或者直接部署

在这里插入图片描述

Dockge 会根据堆栈名称创建目录

在这里插入图片描述

虽然 Dockge 确实解决了一些痛点,也可能是习惯使然,暂时还不不打算从 Portainer 切换到 Dockge,但会保持持续关注

参考文档

louislam/dockge: A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
地址:https://github.com/louislam/dockge

Dockge
地址:https://dockge.kuma.pet/

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

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

相关文章

flink反压

flink反压&#xff08;backpressure&#xff09;&#xff0c;简单来说就是当接收方的接收速率低于发送方的发送速率&#xff0c;这时如果不做处理就会导致接收方的数据积压越来越多直到内存溢出&#xff0c;所以此时需要一个机制来根据接收方的状态反过来限制发送方的发送速率&…

10、内网安全-横向移动域控提权NetLogonADCSPACKDC永恒之蓝

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正&#xff01; 背景&#xff1a; 主要针对内网主机中的 域控提权漏洞&#xff0c;包含漏洞探针和漏洞复现利用。 1、横向移动-系统漏洞-CVE-2017-0146&#xff08;ms17-010&#xff0c;永恒之蓝&#xff0…

ts环境下如何解决第三方npm包类型报错的问题

在 TypeScript 环境下&#xff0c;当引入第三方 npm 包时出现类型报错的问题&#xff0c;可以尝试以下几种解决方法&#xff1a; 1、安装 types 包&#xff1a;许多流行的第三方 npm 包都有对应的 TypeScript 类型声明文件&#xff0c;这些声明文件通常以 types/包名 的形式发…

odoo16-API(Controller)带有验证访问的接口

odoo16-API&#xff08;Controller&#xff09;带有验证访问的接口 目前我使用odoo原生的登录token来验证登陆的有效性 废话不多说直接上代码 # 测试获取session_id import requests class GetOdooData(http.Controller):def getOdooToken(self):# http://localhost:8123访问…

蓝桥杯:C++素数、进制转换

素数 定义&#xff1a; 质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则称为合数&#xff08;规定1既不是质数也不是合数&#xff09;。 代码&#xff1a; #include<bits/stdc.h> using n…

【flutter】环境安装

安装flutter sdk 下载sdk flutter sdk就包含dart&#xff0c;所以我们只用安装flutter sdk就可以了。 我们去清华大学开源软件镜像站下载&#xff0c;flutter开发中&#xff0c;版本对不上基本项目就跑步起来&#xff0c;如果是团队协同开发的话&#xff0c;建议统一下载指定版…

ubuntu22.04@Jetson OpenCV安装

ubuntu22.04Jetson OpenCV安装 1. 源由2. 分析3. 证实3.1 jtop安装3.2 jtop指令3.3 GPU支持情况 4. 安装OpenCV4.1 修改内容4.2 Python2环境【不需要】4.3 ubuntu22.04环境4.4 国内/本地环境问题4.5 cudnn版本问题 5. 总结6. 参考资料 1. 源由 昨天用Jetson跑demo程序发现帧率…

算法——排序算法

目录 1、冒泡排序 2、插入排序 3、选择排序 4、归并排序 5、快速排序 6、堆排序 7、计数排序 8、桶排序 9、基数排序 常见的排序算法包括&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;选择排序&#xff08;Se…

Element UI 组件的安装及使用

Element UI 组件的安装及使用 Element UI 是一套基于 Vue.js 的桌面端 UI 组件库&#xff0c;提供了丰富的、高质量的 UI 组件&#xff0c;可以帮助开发者快速构建用户界面。 1、安装 Element UI 使用 npm 安装 npm install element-ui -S2、使用 CDN 安装 在 HTML 页面中引…

祖龙娱乐 x Incredibuild

关于祖龙娱乐 祖龙娱乐有限公司&#xff08;下文简称“祖龙娱乐”&#xff09;是一家总部位于北京的移动游戏开发公司&#xff0c;成立于 2014 年&#xff0c;拥有成功的大型多人在线角色扮演游戏移动游戏组合&#xff0c;如《六龙争霸》、《梦幻诛仙》和《万王之王 3D》。公司…

安宝特AR汽车行业解决方案系列1-远程培训

在汽车行业中&#xff0c;AR技术的应用正悄然改变着整个产业链的运作方式&#xff0c;应用涵盖培训、汽修、汽车售后、PDI交付、质检以及汽车装配等&#xff0c;AR技术为多个环节都带来了前所未有的便利与效率提升。 安宝特AR将以系列推文的形式为读者逐一介绍在汽车行业中安宝…

Kotlin基本语法 4 类

1.定义类 package classStudyclass Player {var name:String "jack"get() field.capitalize()set(value) {field value.trim()} }fun main() {val player Player()println(player.name)player.name " asdas "println(player.name)} 2.计算属性与防范…

网络爬虫基础(上)

1. 爬虫的基本原理 爬虫就是在网页上爬行的蜘蛛&#xff0c;每爬到一个节点就能够访问该网页的信息&#xff0c;所以又称为网络蜘蛛&#xff1b; 网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程&#xff1b; 2. URL的组成部分 URL全称为Uniform Resource L…

Docker Compose映射卷的作用是什么,dockerfile这个文件有什么区别和联系?

Docker Compose中映射卷&#xff08;Volumes&#xff09;的作用和Dockerfile之间既有区别也有联系。下面详细解释两者的作用、区别和联系&#xff1a; Docker Compose映射卷的作用 在Docker Compose中&#xff0c;卷&#xff08;Volumes&#xff09;用于数据持久化和数据共享…

ajax 如何从服务器上获取数据?

在Web开发中&#xff0c;AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种常用的技术&#xff0c;用于在不重新加载整个页面的情况下&#xff0c;从服务器获取数据并更新网页的某一部分。使用AJAX&#xff0c;你可以创建异步请求&#xff0c;从而提供更快的…

大话设计模式——2.简单工厂模式(Simple Factory Pattern)

定义&#xff1a;又称静态工厂方法&#xff0c;可以根据参数的不同返回不同类的实例&#xff0c;专门定义一个类&#xff08;工厂类&#xff09;来负责创建其他类的实例可通过类名直接调用&#xff0c;被创建的实例通常具有共同的父类。 UML图&#xff1a; 例子&#xff1a; 计…

数据仓库选型建议

1 数仓分层 1.1 数仓分层的意义 **数据复用&#xff0c;减少重复开发&#xff1a;**规范数据分层&#xff0c;开发一些通用的中间层数据&#xff0c;能够减少极大的重复计算。数据的逐层加工原则&#xff0c;下层包含了上层数据加工所需要的全量数据&#xff0c;这样的加工方…

SQL Developer 小贴士:显示RAC配置

前提&#xff1a; 已建立2节点RAC已在SQL Developer中建立了2个连接&#xff0c;分别到RAC的两个节点 然后单击菜单View>DBA&#xff0c;分别连接RAC节点1和节点2&#xff0c;并组织成目录&#xff08;不必须&#xff0c;但建议&#xff09;。 在两处可以体现为RAC配置。第…

python基础 | 模块与异常

1、模块 Python 模块(Module)&#xff0c;是一个 Python 文件&#xff0c;以 .py 结尾&#xff0c;包含了 Python 对象定义和Python语句 模块让你能够有逻辑地组织你的 Python 代码段&#xff0c;不可能把代码写在一起 把相关的代码分配到一个模块里能让你的代码更好用&#…

Backtrader 量化回测实践(1)—— 架构理解和MACD/KDJ混合指标

Backtrader 量化回测实践&#xff08;1&#xff09;—— 架构理解和MACD/KDJ混合指标 按Backtrader的架构组织&#xff0c;整理了一个代码&#xff0c;包括了Backtrader所有的功能点&#xff0c;原来总是使用SMA最简单的指标&#xff0c;现在稍微增加了复杂性&#xff0c;用MA…