Go Wails Docker图形界面管理工具 (4)

这篇具有很好参考价值的文章主要介绍了Go Wails Docker图形界面管理工具 (4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

接上篇,本次添加Docker日志查看功能

2. 效果图

Go Wails Docker图形界面管理工具 (4)Go Wails Docker图形界面管理工具 (4)

3. 代码

直接调用官方库

app.go

func (a *App) Log(ID string) (string, error) {
	reader, err := Cli.ContainerLogs(context.Background(), ID, types.ContainerLogsOptions{ShowStdout: true, ShowStderr: true})
	if err != nil {
		return "", err
	}
	b, err := ioutil.ReadAll(reader)
	if err != nil {
		return "", err
	}
	return string(b), nil
}

LogView.vue

<template>
    <a-spin :spinning="spinning">
        <div>
            <div class="table-operations">
                <a-button @click="handleRefresh">刷新容器</a-button>
            </div>
            <a-table row-key="ID" :columns="columns" :data-source="data" :scroll="{ x: 'max-content' }">
                <template #bodyCell="{ column, record }">
                    <template v-if="column.dataIndex === 'Names'">
                        <a-tag v-for="name in record.Names" color="geekblue">{{ name.substring(1) }}</a-tag>
                    </template>
                    <template v-else-if="column.dataIndex === 'State'">
                        <a-tag :color="record.State == 'running' ? 'green' : 'volcano'">{{ record.State }}</a-tag>
                    </template>
                    <template v-else-if="column.dataIndex === 'Ops'">
                        <a-button type="primary" @click="handleLog(record)">查看日志</a-button>
                    </template>
                </template>
            </a-table>
        </div>
        <a-drawer size="large" :title="drawerModel.title" :placement="right" :closable="false" v-model:visible="drawerModel.visible">
            <a-textarea :value="drawerModel.content"  autosize="true" readOnly />
        </a-drawer>
    </a-spin>
</template>
<script setup>
import { onBeforeMount, reactive, ref } from 'vue';
import { ContainerList, Log } from "../../wailsjs/go/main/App";
import { message } from "ant-design-vue";

onBeforeMount(() => handleRefresh());

const spinning = ref(false);
const drawerModel = reactive({
    title: "",
    content: "",
    visible: false
});

const columns = [{
    title: 'ID',
    dataIndex: 'ID',
    fixed: 'left',
}, {
    title: 'NAMES',
    dataIndex: 'Names',
    fixed: 'left',
}, {
    title: 'STATE',
    dataIndex: 'State',
    fixed: 'left',
}, {
    title: '操作',
    dataIndex: 'Ops',
},];

const data = ref([]);

const handleRefresh = () => {
    ContainerList()
        .then((containers) => {
            data.value = containers;
        })
        .catch(e => message.error(e));
};

const handleLog = (record) => {
    spinning.value = true;
    Log(record.ID)
        .then((log) => {
            drawerModel.title = `容器 - ${record.Names[0]} 日志`;
            drawerModel.content = log;
            drawerModel.visible = true;
        })
        .catch(e => message.error(e))
        .finally(() => { spinning.value = false; });
};

</script>

<style scoped>
.table-operations {
    margin-bottom: 16px;
}

.table-operations>button {
    margin-right: 8px;
}
</style>

项目地址 https://github.com/LeoBest2/my-docker-gui文章来源地址https://www.toymoban.com/news/detail-449611.html

到了这里,关于Go Wails Docker图形界面管理工具 (4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 本地部署Docker容器可视化图形管理工具DockerUI并实现无公网IP远程访问——“cpolar内网穿透”

    DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基于容器安装方式,部署方便高效,浏览和维护docker单节点或集群节点worker和manager。DockerUI具有易于使用的界面。它不需要记住 docker 指令。只需下

    2024年04月25日
    浏览(48)
  • Linux本地docker一键部署traefik+内网穿透工具实现远程访问Web UI管理界面

    Træfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) , 可以对配置进行自动化、动态的管理. Træfɪk 支持docker一键部署,内置 Web UI,管理相对方便,下面介绍Linux 本地

    2024年02月05日
    浏览(46)
  • 【Git】Git(分布式项目管理工具)在Windows本地/命令行中的基本操作以及在gitee中的操作,使用命令行、图形化界面,进行提交,同步,克隆

    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,

    2024年02月04日
    浏览(68)
  • 图形化管理工具ossbrowser

    一、OSS介绍 云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的 云存储服务 ,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。 OSS具有与平台无关的RESTful API接口,可以在任何应用、任何时间、任何地点 存储 和 访问 任意类型的 数据 。

    2024年02月10日
    浏览(39)
  • 【git】图形化git管理工具SourceTree

    命令行操作确实很方便快捷,但图形化工具看起来更直观,在git仓库管理中也是这样。 这一节来介绍使用git图形化管理工具 SourceTree 。 地址: https://www.sourcetreeapp.com/ 目前还只支持Windows和Mac OS。 在我们掌握git命令行的提交和分支管理后,再使用GUI工具,会发现更高效。 添加

    2024年02月15日
    浏览(67)
  • k8s图形化管理工具rancher

     Rancher和K8s的关系,Rancher和K8s区别对比。简单来说,K8s(Kubernetes)为企业提供了一种一致的方式来管理任何计算基础架构,Rancher则是用于管理位于任何位置的Kubernetes集群的完整平台。如果用户是自己手动部署K8s集群,流程还是比较复杂的,需要掌握一定的技术知识,所以为

    2024年02月20日
    浏览(44)
  • k8s图形化管理工具之rancher

    在前面的k8s基础学习中,我们学习了各种资源的搭配运用,以及命令行,声明式文件创建。这些都是为了k8s管理员体会k8s的框架,内容基础。在真正的生产环境中,大部分的公司还是会选用图形化管理工具来管理k8s集群,大大提高工作效率。   在二进制搭建k8集群时,我们就

    2024年01月25日
    浏览(42)
  • Redis图形化管理工具(Redis Desktop Manager)

    随着业务的突飞猛进,查询业务如果还是使用sql,时效性有些不能满足要求,目前比较流行的方式是使用Redis,本篇主要介绍Redis图形化管理工具(Redis Desktop Manager)的使用方法; 名称:redisdesktop桌面管理工具 地址:https://redisdesktop.com/download 介绍:一款好用的redis桌面管理工

    2023年04月09日
    浏览(49)
  • Scrapy框架之MongoDB通过配置文件管理参数--Linux安装MongoDB--图形管理工具

    目录 MongoDB通过配置文件 问题 解决方案  步骤 提示 Linux安装MongoDB 环境 下载依赖与安装包 解压安装  MongoDB GUI管理工具  独立软件GUI软件 Robo 3T使用 VSCode集成GUI插件 问题 启动MongoDB时,编写参数太麻烦 解决方案 通过配置文件统一管理 找到MongoDB的配置文件:在MongoDB的安装目

    2024年02月12日
    浏览(48)
  • K8s图形化管理工具Dasboard部署及使用

    Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。 官方GitHu

    2024年02月02日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包