Docker运行PostgreSQL

在本文,尝试使用 Docker 运行 PostgreSQL ,为了适配 goalert 项目,因为从来没有尝试过使用 PostgreSQL 了解PostgreSQL数据库 在我们继续运行 PostgreSQL 数据库的 Docker 容器之前,我们先来了解一下 PostgreSQL 数据库。 PostgreSQL 是一个开源 RDMS,类似于 MySQL。 它是一个面向对象的数据库,但我们可以处理结构化和非结构化数据。 PostgreSQL 数据库可以运行在各种平台上,包括 Windows、Mac OS X 和 Linux。它还提供高级数据类型和性能优化功能来存储和扩展复杂的数据库工作负载。 使用公共镜像运行PostgreSQL 要使用 Docker 运行 PostgreSQL,我们首先需要拉取 Docker Hub 上可用的 postgres 公共镜像: bash 1 docker pull postgres 在上面的命令中,我们拉取了 postgres 最新的稳定版镜像。 如果要指定版本的 postgres 镜像,可以使用以下命令 bash 1 docker pull postgres:14.2 这里将使用 postgres:14.2 版本来运行 Postgres 的容器,这里命令主要为 Linux bash 1 docker run -d -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=111111 -p 5432:5432 -v /data:/var/lib/postgresql/data --name postgresql postgres 如果在 window 或 wsl 上运行,可以执行下面命令...

 ·  · 

将traefik部署为传统web架构模式

traefik概述 traefik-现代反向代理,也可称为现代边缘路由;traefik原声兼容主流集群,Kubernetes,Docker,AWS等。官方的定位traefik是一个让开发人员将时间花费在系统研发与部署功能上,而非配置和维护。并且traefik官方也提供自己的服务网格解决方案 作为一个 modern edge router ,traefik拥有与envoy相似的特性 基于go语言研发,目的是为了简化开发人员的配置和维护 tcp/udp支持 http L7支持 GRPC支持 服务发现和动态配置 front/ edge prory支持 可观测性 流量管理 … traefik 术语 要了解trafik,首先需要先了解一下 有关trafik中的一些术语。 EntryPoints 入口点,是可以被下游客户端连接的命名网络位置,类似于envoy 的listener和nginx的listen services 服务,负载均衡,上游主机接收来自traefik的连接和请求并返回响应。 类似于nginx upstream envoy的clusters Providers 提供者,提供配置文件的后端,如文件,consul,redis,etcd等,可使traefik自动更新 routers 路由器,分析请求,将下游主机的请求处理转入到services middlewares: 中间件,在将下游主机的请求转入到services时进行的流量调整 traefik部署安装 traefik为go语言开发的,可以直接下载运行即可。此处介绍直接运行二进制程序 后端环境准备,此处为docker运行的两个后端。 yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 version: '3' services: webserver1: image: sealloong/envoy-end:latest ports: - 91:90 networks: envoymesh: aliases: - v1_server - default_server environment: - VERSION=v1 - COLORFUL=blue expose: - 90 webserver2: image: sealloong/envoy-end:latest ports: - 92:90 networks: envoymesh: aliases: - v1_server - default_server environment: - VERSION=v1 - COLORFUL=blue expose: - 90 networks: envoymesh: {} traefik配置说明 Traefik中的配置可以引用两种不同的内容:...

 ·  · 

zimbra安装故障记录

启动故障:zimbra postsuper: fatal: scan_dir_push: open directory defer: Permission denied bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Host mail.domain.com Starting ldap...Done. Starting zmconfigd...Done. Starting dnscache...Done. Starting logger...Done. Starting mailbox...Done. Starting memcached...Done. Starting proxy...Done. Starting amavis...Done. Starting antispam...Done. Starting antivirus...Done. Starting opendkim...Done. Starting snmp...Done. Starting spell...Done. Starting mta...Failed. Starting saslauthd...done. postsuper: fatal: scan_dir_push: open directory defer: Permission denied postfix failed to start Starting stats....

 ·  · 

windows下Docker Desktop安装管理

检查要求 Windows 10 企业版、专业版或教育版 (必须windows10 1903版本以上)版本号 18362.1049+ 或 18363.1049+ ,次版本#大于.1049。最好是最新版(新版windows可以hype-v wsl2 vmvare共存,但安卓模拟器目前还没稳定的共存版本)。建议使用wsl2,安装包容量会比起hype-v小很多 。 Windows开启wsl2,建议 Windows 10 2004(版本号不低于 19041.264),可wsl2与vmvare共存。 CPU 支持并开启虚拟化(Intel VT-c 或 AMD SVM)。 最少 4 GB 内存。 对于专业版、企业版、教育版可以使用docker desktop wsl2模式,此处无需开启Hype-v 对于Win10 家庭版,Win10 19041.264之前版本,及 Win7 8用户,可以使用docker desktop Hype-v 后端。 修改安装盘 Docker Desktop 默认安装到 C:\Program Files\Docker 并不可更改,这样很不友好,可以通过软连接的方式改变Docker Desktop 默认安装盘。 text 1 mklink /J "C:\Program Files\Docker" "D:\Program Files\Docker" 限制wsl2运行最大内存 WSL 是 Microsoft 提供的一项功能,可以使开发人员能够直接在 Windows 上运行 GNU/Linux 环境,无需修改,无需传统虚拟机或双引导设置,减少了开发人员的使用复杂度 在 Docker Desktop 使用了 WSL 2 中的动态内存分配特性,极大地提高了资源消耗。这意味着,Docker Desktop 仅使用其所需的 CPU 和内存资源量,同时使 CPU 和内存密集型任务(例如构建容器)运行得更快。...

 ·  · 

Envoy:TLS双向认证

环境准备 主机 角色 数量 front-envoy front envoy 1 service envoy 作为内部后端的envoy 2 end 后端应用程序 2 访问 / front-envoy ==> end * 2 访问 /red/colorful ==> end red 不验证客户端证书 单项tls 访问 /gray/colorful ==> end gray 验证客户端证书 双项tls docker-compose text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 version: '3' services: front-envoy: image: envoyproxy/envoy-alpine:v1....

 ·  ·