喵个咪的博客喵个咪的博客
喵个咪的技术与生活
文章列表
文章分类
文章标签
时间线
喵个咪的技术与生活
文章列表
文章分类
文章标签
时间线
健康养生 2Python编程 5随笔日志 1产品设计 1C++编程 10运维技术 34Flutter编程 12编程技术 67设计模式 1汽车 1Go编程 64架构设计 3游戏开发 13量化开发 6物联网开发 7GoWind风行 41生活杂记 1
WSL2设置网络代理

Date: 1/1/2020Category: 运维技术Tag: Windows, WSL

为了生计所迫,有时候不得不需要在WSL2下面使用代理。

获取到宿主的访问IP地址

WSL2要访问宿主的服务,并没有那么容易,并不能简单的通过127.0.0.1来访问,需要获取到宿主的访问IP地址。有两种办法可以访问宿主的IP:

  1. cat /etc/resolv.conf命令获取nameserver;
  2. 如果安装了Docker,可以获取host.docker.internal。

推荐使用第一种方法。

配置代理

WSL2重启

Date: 1/1/2020Category: 运维技术Tag: Windows, WSL

列出WSL子系统

wslconfig /list
wsl --list
wsl -l -v
Windows Server 部署 Docker

Date: 1/1/2020Category: 运维技术Tag: Windows, Flutter

Docker Desktop安装不了,只能安装Docker Toolbox。

通过国内镜像站下载:

  • 阿里云:https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
  • DaoCloud: https://get.daocloud.io/toolbox/
Windows下释放Docker所占用的WSL磁盘空间

Date: 1/1/2020Category: 运维技术Tag: Docker, WSL

使用下面的命令清理镜像:

docker system prune
使用 PgBouncer 提高性能并减少 PostgreSQL 的负载

Date: 1/1/2020Category: 运维技术Tag: PgBouncer

如何改进 PostgreSQL 数据库服务器架构连接管理

这篇博文将会逐步介绍如何使用 PgBouncer 连接池来改进 PostgreSQL 数据库服务器架构连接管理、减少 PostgreSQL 服务器上的负载并提高性能。

以下是我们在本文中将要讲解的内容的细分主题:

  • PostgreSQL 数据库服务器如何工作
  • 使用 PgBouncer 池化器提高效率
  • 如何安装和配置 PgBouncer
Ubuntu 安装 CoTURN

Date: 1/1/2020Category: 运维技术Tag: CoTURN

使用apt安装

sudo apt-get -y update
sudo apt-get -y install coturn
使用 Docker 部署 CoTURN 新手指南

Date: 1/1/2020Category: 运维技术Tag: Docker, CoTURN

在本指南中,我们将学习如何在 Docker 容器中运行 CoTURN。COTURN 是一款免费的开源 TURN 服务器,可用于 WebRTC 视频和音频通信以及 VoIP 服务

先决条件

  • 您应该在系统上安装 docker。了解如何在系统上安装 docker 超出了本文的范围
  • 建议但不要求具备一些 docker 基础知识

安装

Docker 提供了 CoTURN 镜像,可用于在容器中轻松设置 CoTURN 服务器

步骤 1 拉取 Docker 镜像

安装docker coturn。从云存储库Docker Hub中拉取coturn的docker镜像。

PostgreSQL Docker容器修改时区

Date: 1/1/2020Category: 运维技术Tag: PostgreSQL, Docker

做了一些配置的修改之后,查询到的数据倒是显示的是+8的时区,可是,执行show timezone;之后,不论怎么样都是显示的是UTC时间。

环境变量

docker-compose的相关配置如下:

services:
  postgres:
    environment:
      - TZ=Asia/Shanghai
      - PGTZ=Asia/Shanghai
使用 Docker Compose 安装 Mattermost

Date: 1/1/2020Category: 运维技术Tag: Mattermost, Docker

本文适合那些正在寻找使用 Docker Compose 安装 Mattermost 的详细且简单的指南的人。

Mattermost是一种开源、可自托管的在线聊天服务,具有文件共享、搜索和集成功能。它被设计为组织和公司的内部聊天工具,主要将自己定位为 Slack 和 Microsoft Teams 的开源替代品。

💾您可以在GitHub上找到本指南中使用的存储库。

在 Postgres Docker 容器中安装扩展

Date: 1/1/2020Category: 运维技术Tag: Postgresql, Docker

最近,我想使用 Fluent 迁移器来为我的 postgres 数据库做种,该数据库作为 Docker 容器运行。我基本上有一个表 User,它有一个需要自动生成的 UUID 类型的主键。

我的迁移代码如下所示。

Create.Table(User.TABLE_NAME)
    .WithColumn("id").AsGuid().NotNullable().WithDefaultValue(SystemMethods.NewGuid).PrimaryKey()
    .WithColumn("username").AsString().NotNullable()
    .WithColumn("password").AsString().NotNullable();
你一定用过htop,但你有看懂每个选项吗?

Date: 1/1/2020Category: 运维技术Tag: htop

main.webp

身为一个工程师,不管你写的是前端、后端、全端还是什么端,一定多少用过htop,就算真的没用过也会听同事说过。htop 是一个process manager,他可以让你看到执行中的process、系统资源的使用量,也可以让你轻松kill 掉任何一个process,总之,你想得到的功能统统都有~

虽然,大家都说htop 很好用,但许多人打开htop 也只看得懂CPU、Mem、PID、Command 这些简单的选项,对于Load average、NI、State、SHR 就没那么熟悉。

如何在 Superset Docker 容器中安装 MySQL 驱动

Date: 4/9/2026Category: 运维技术Tag: Docker, Superset

Apache Superset 是一款功能强大的开源数据挖掘与可视化平台,支持多种数据源连接、自定义仪表盘和细粒度权限控制,广泛应用于数据运维与分析场景。由于 Superset 官方 Docker 镜像未默认集成 MySQL 驱动,在实际运维中,需手动安装驱动才能实现与 MySQL 数据库的正常连接。本文将详细介绍两种 Docker 部署方式(Docker run 和 Docker Compose)下,MySQL 驱动的完整安装流程,同时兼顾 Apache Doris 驱动安装(适配多数据源需求),并提供数据库配置方法和常见注意事项。

一、前置说明

可能是因为MySQL是使用的GPL协议,所以Superset官方镜像中未包含MySQL驱动,需要手动安装。

怎样在Ubuntu下面安装GCC

Date: 1/1/2020Category: 运维技术Tag: Ubuntu, GCC

获取系统版本信息

lsb_release -a
如何 Docker 化一个 GO 应用程序

Date: 1/1/2020Category: 运维技术Tag: Docker, Go

使用 Golang,可以构建小到简单的可执行工具大到完整的 Web 服务器的任何东西。为了交付应用程序,使用 Docker 是首选,它允许我们创建一个包含项目运行所需的一切的自包含环境。值得一提的是,Docker 命令行界面本身也是使用 GO 所开发。

为任何 GO 应用程序编写 Docker 镜像

通常,从一个尽可能小且具有所需基本依赖项的基本镜像开始,是一个好主意。alpine 镜像通常是一个可靠的选择,因为它们仅包含操作系统所需的最低限度。

所以,我们可以这样写 Dockerfile:

FROM golang:alpine3.15
怎样编译PostgreSQL扩展并安装到容器中去

Date: 1/1/2020Category: 运维技术Tag: Docker, PostgreSQL

通常PostgreSQL容器当中会内置一些扩展,一般存放在:/usr/lib/postgresql/{PostgreSQL版本号}/lib,扩展的实体都是.so文件,如果容器当中存在着扩展的so文件,那么就可以顺利的通过SQL语句进行安装,否则,则不能够顺利的安装,这时候,就需要编译扩展并拷贝进容器。

https://yum.postgresql.org/repopackages/

Docker清理磁盘空间

Date: 1/1/2020Category: 运维技术Tag: Docker

在日常运维当中,Docker会产生一些运行时的临时文件,我们需要定时的清理掉他们,不然将会对磁盘造成极大的压力。

探查命令

查看整个Docker系统的磁盘占用情况:

docker system df
使用Docker发布静态网站

Date: 1/1/2020Category: 运维技术Tag: Docker

创建Dockerfile

注册Docker Hub账号

Docker修剪未使用对象

Date: 1/1/2020Category: 运维技术Tag: Docker

Docker 采用保守的方法来清理未使用的对象,例如镜像(Image)、容器(Container)、数据卷(volume)和网络(Network)。也就是说,除非您明确告诉 Docker 这样做,否则每个对象都永远不会被删除。结果导致了 Docker 最终使用了大量的磁盘空间。对于每种类型的对象,Docker 都提供了一个 prune(删除)命令。此外,您可以一次清理多个对象类型。本主题介绍如何使用每个命令。

镜像(Image)修剪

docker image prune该命令可以清理未使用的镜像。默认情况下,该命令仅删除挂起的镜像。挂起的镜像是没有标签且不被其他容器引用的镜像。要删除挂起的镜像,只需要键入:docker image prune

为Docker容器运行的PostgreSQL安装插件

Date: 1/1/2020Category: 运维技术Tag: Docker, PostgreSQL

准备

查看PostgreSQL的版本号(有些插件带大版本号):

SELECT version();
Windows11 启动 Docker 提示端口被占用 无法启动

Date: 1/1/2020Category: 运维技术Tag: Docker

今天Windows11升级重启了,我启动RabbitMQ,然后提示端口被占用,而无法启动Docker. 提示信息如下:

listen tcp 0.0.0.0:1883: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Docker在国内没有代理的解决方案

Date: 1/1/2020Category: 运维技术Tag: Docker

Docker的国内代理都失效了,不抱怨,只讲如何解决问题。

简单来说,就是把本地的镜像导出来,然后打成压缩包,再拷贝到服务器上去,然后再导入。

导出镜像

docker save bitnami/minio:latest -o minio.tar
Docker 容器中安装VIM

Date: 1/1/2020Category: 运维技术Tag: Docker, VIM

Docker的容器当中一般是没有安装任何编辑器的,vi和vim神马的都没有.如果想要在容器中使用编辑器,需要自己去安装.
但是,在 Docker 中执行:apt-get update报错:

E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
Docker内部安装软件

Date: 1/1/2020Category: 运维技术Tag: Docker
docker exec -it {容器名} "apt update"
docker exec -it {容器名} "apt install {软件名}"
Docker Hub 镜像源

Date: 1/1/2020Category: 运维技术Tag: Docker Hub, Docker
提供商 公共镜像 私有镜像
网易云 http://hub-mirror.c.163.com
百度云 https://mirror.baidubce.com
腾讯云 https://ccr.ccs.tencentyun.com
Docker Proxy https://dockerproxy.com
华为云 https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com https://{你的ID}.mirror.swr.myhuaweicloud.com
阿里云 https://1nj0zren.mirror.aliyuncs.com http://{你的ID}.mirror.aliyuncs.com
DaoCloud http://f1361db2.m.daocloud.io
七牛云 https://reg-mirror.qiniu.com
Azure https://dockerhub.azk8s.cn
Docker中国区官方 https://registry.docker-cn.com
中国科学技术大学(适用于校园网) http://docker.mirrors.ustc.edu.cn
用Docker轻松搭建Swagger环境

Date: 1/1/2020Category: 运维技术Tag: Swagger, Docker

概要

我将介绍如何构建运行在 Docker 上的 Swagger 环境。

成果

Swagger Editor

网页的左侧是编辑器,右侧是Swagger UI,可以实时查看notation和查看定义文档。 如果将稍后描述的示例复制并粘贴到左侧,结果将显示在右侧,所以请尝试一下。

swagger_editor

Swagger UI

swagger_ui

Docker简单部署Traefik微服务网关

Date: 1/1/2020Category: 运维技术Tag: Traefik, Docker

什么是Traefik?

Traefik 是一款开源的反向代理与负载均衡工具,它监听后端的变化并自动更新服务配置。Traefik 最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持 Docker、Swarm,Marathon、Mesos、Kubernetes、Consul、Etcd、Zookeeper、BoltDB 和 Rest API 等后端模型。

什么是微服务网关?

微服务网关是整个微服务API请求的入口,可以实现过滤Api接口。并且可以实现用户的验证登录、解决跨域、日志拦截、权限控制、限流、熔断、负载均衡、黑名单与白名单机制等。

部署Jitsi Meet

Date: 1/1/2020Category: 运维技术Tag: Jitsi Meet

Jitsi项目组成

  • Jitsi Meet,与WebRTC兼容的JavaScript应用程序,使用Jitsi Videobridge提供高质量、可扩展的视频会议。基于React和React Native构建
  • Jitsi Videobridge(JVB) - 与WebRTC兼容的服务器,用于在会议参与者之间路由视频流。
  • Jitsi Conference Focus (jicofo) - 用于Jitsi会议的服务器端焦点组件,用于管理媒体会话,并充当每个参与者和视频桥之间的负载平衡器。
  • Jitsi Gateway to SIP (jigasi) - 允许常规SIP客户端加入Jitsi会议的服务器端应用程序
  • Jitsi Broadcasting Infrastructure (jibri) - 用于录制和/或流式传输Jitsi会议的一组工具,通过启动虚拟帧缓冲区中呈现的Chrome实例,并使用ffmpeg捕获和编码输出来工作
本地部署Docker开发环境

Date: 1/1/2020Category: 运维技术Tag: Docker

  • Bash的换行符为 \

  • CMD的换行符为 ^

  • Powershell的换行符为 `

参数简析:

  • -p 宿主机端口:容器端口

需要设置Host:

# Added by Docker Desktop
192.168.1.6 host.docker.internal
192.168.1.6 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
192.168.1.6 kubernetes.docker.internal
# End of section
部署RustDesk服务器

Date: 1/1/2020Category: 运维技术Tag: RustDesk

两个可执行程序:

  • hbbs - RustDesk ID注册服务器,是管各个客户端 ID 的,每个客户端都有一个唯一的 ID 。
  • hbbr - RustDesk中继服务器,是负责检测、中转各个客户端连接和数据传输。

端口占用情况:

  • TCP(21115, 21116, 21117, 21118, 21119)
  • UDP(21116)

进程占用端口情况:

  • hbbs - 21115(tcp), 21116(tcp/udp), 21118(tcp)
  • hbbr - 21117(tcp), 21119(tcp)
部署EFK

Date: 1/1/2020Category: 运维技术Tag: EFK
  • ElasticSearch
  • Fluentd
  • Kibana

Docker Run

docker network create app-tier --driver bridge
客户留存率

Date: 1/1/2020Category: 运维技术Tag: 客户留存率

参考资料

  • 甚麼是客戶保留率? 如何計算客戶保留率?
  • APP用户留存率计算公式和预估方法
  • 用户留存|教你统计日留存、周留存、月留存率更准确的方法
  • 出色的应用留存率是如何炼成的?
  • 关于游戏的留存
  • 小游戏玩家留存策略
  • 6 个重要的移动游戏留存指标及计算方法
  • App的留存率多少才合格?行业App留存参考
  • 微信小游戏大盘留存数据:益智、模拟品类次留高于40%
  • 留存:4 大策略提升 2 类留存官方
  • 如何提升网赚游戏的用户留存率,我们总结出了可复用的分析方法
crontab

Date: 1/1/2020Category: 运维技术Tag: crontab

什么是cron表达式?

cron表达式是一个具有时间含义的字符串,一般用于定义定时任务的执行时间。

cron表达式的格式

cron使用6-7位制的格式:

{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
清除Docker产生的垃圾文件

Date: 1/1/2020Category: 运维技术Tag: docker

通过命令df -h查看磁盘空间占用,发现Docker的overlay对磁盘的占用极高。

通过docker system prune -a命令清除掉Docker的无用镜像、缓存、挂载数据,也并没有太多的改善。

通过du -h --max-depth=1或者du -sh *命令查看大文件的占用情况。

参考资料

  • Docker容器占用磁盘内存过大的问题排查
  • Docker 容器磁盘占用100%(/var/lib/docker/overlay2空间占用很大)
使用 cron 和 RClone 实现自动备份文件

Date: 1/1/2020Category: 运维技术Tag: cron, rclone

本文将向您展示如何在 Linux 操作系统中使用 RClone 和 cron 来自动进行文件备份。

现在是星期五下午 6 点,我需要将一些工作和学校文件备份到 Google 云端硬盘。是的,我使用 git 进行编码项目,但这种工作最好保存在 Google Drive 中。所以我想知道是否有一种更快、简单、自动化的方法来备份到 Google Drive,有趣的是,我发现了 RClone。

在本文中您将了解到:

  • 什么是 RClone?
  • 什么是 cron?
  • RClone 和 cron 的基本用法
  • 如何在每周五下午 6:30 自动备份文件
  • Cron日志记录
  • 如何卸载 RClone