当前位置: 首页 > wzjs >正文

电子商务网站优化方案学校网站建设管理办法

电子商务网站优化方案,学校网站建设管理办法,网上营销推广,推广运营Docker Compose文件内容解释一、Docker Compose文件,仅用于做案例二、版本部分(已注释)三、服务定义四、环境变量配置五、数据卷挂载六、启动命令七、健康检查八、网络配置(一)网络的作用(二)为…

Docker Compose文件内容解释

  • 一、Docker Compose文件,仅用于做案例
  • 二、版本部分(已注释)
  • 三、服务定义
  • 四、环境变量配置
  • 五、数据卷挂载
  • 六、启动命令
  • 七、健康检查
  • 八、网络配置
    • (一)网络的作用
    • (二)为什么需要这个配置?
    • (三)服务间通信示例
    • (四)默认网络 vs 自定义网络
  • 九、总结

一、Docker Compose文件,仅用于做案例

# version: '3.5'services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.18environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdhealthcheck:test: ["CMD", "etcdctl", "endpoint", "health"]interval: 30stimeout: 20sretries: 3minio:container_name: milvus-minioimage: minio/minio:RELEASE.2023-03-20T20-16-18Zenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminports:- "9001:9001"- "9000:9000"volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_datacommand: minio server /minio_data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-standaloneimage: milvusdb/milvus:v2.5.6command: ["milvus", "run", "standalone"]security_opt:- seccomp:unconfinedenvironment: ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvushealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]interval: 30sstart_period: 90stimeout: 20sretries: 3ports:- "19530:19530"- "9091:9091"depends_on:- "etcd"- "minio"attu:container_name: attuimage: zilliz/attu:v2.5environment: - MILVUS_URL=10.100.3.222:19530ports:- "9333:3000"networks:default:name: milvus

我将解释这个 Docker Compose 文件的内容。这个文件定义了一个名为 etcd 的服务,它是一个开源的分布式键值存储系统,常用于服务发现、配置管理等场景。

二、版本部分(已注释)

# version: '3.5'

这行被注释掉了,它指定了 Docker Compose 文件的版本。不同版本支持不同的特性,当前注释掉后,Docker Compose 会使用默认版本。建议取消注释并指定一个版本,如 3.8,以确保兼容性。

三、服务定义

services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.18
  • services: 顶级键,用于定义多个服务(容器)。
  • etcd: 服务名称,可以自定义,这里命名为 etcd。
  • container_name: 指定容器运行时的名称,这里是 milvus-etcd。
  • image: 指定使用的 Docker 镜像,这里使用 CoreOS 提供的 etcd 镜像,版本为 v3.5.18。

四、环境变量配置

    environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000

这些是传递给容器的环境变量,用于配置 etcd 的行为:

  • ETCD_AUTO_COMPACTION_MODE=revision: 启用基于版本的自动压缩,保留最近的 1000 个修订版本。
  • ETCD_AUTO_COMPACTION_RETENTION=1000: 压缩时保留的修订版本数量。
  • ETCD_QUOTA_BACKEND_BYTES=4294967296: 后端存储的最大字节数(4GB)。
  • ETCD_SNAPSHOT_COUNT=50000: 每 50000 次写操作生成一次快照。

五、数据卷挂载

    volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
  • volumes: 定义容器与宿主机之间的数据卷映射。
  • ${DOCKER_VOLUME_DIRECTORY:-.}: 环境变量替换,如果未设置 DOCKER_VOLUME_DIRECTORY,则使用当前目录(.)。
  • /volumes/etcd:/etcd: 将宿主机的 ./volumes/etcd 目录挂载到容器的 /etcd 目录,用于持久化存储 etcd 数据。

六、启动命令

    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
  • command: 覆盖容器默认的启动命令。
  • etcd: 启动 etcd 服务。
  • -advertise-client-urls=http://127.0.0.1:2379: 向客户端宣告的 URL,客户端使用此地址与 etcd 通信。
  • -listen-client-urls http://0.0.0.0:2379: 监听客户端连接的地址,0.0.0.0 表示监听所有接口。
  • --data-dir /etcd: 指定数据存储目录,与前面的卷挂载路径对应。

七、健康检查

    healthcheck:test: ["CMD", "etcdctl", "endpoint", "health"]interval: 30stimeout: 20sretries: 3
  • healthcheck: 定义容器健康检查机制。
  • test: [“CMD”, “etcdctl”, “endpoint”, “health”]: 使用 etcdctl 命令检查 etcd 端点的健康状态。
  • interval: 30s: 每 30 秒检查一次。
  • timeout: 20s: 每次检查超时时间为 20 秒。
  • retries: 3: 连续失败 3 次后,认为容器不健康。

八、网络配置

networks:default:name: milvus
  • networks: 顶级键,用于定义服务间通信的网络。
  • default: 默认网络的名称,是一个特殊的网络,所有未显式指定网络的服务都会连接到这个网络。
  • name: milvus: 将默认网络的实际名称设置为 milvus

(一)网络的作用

在 Docker 中,网络用于容器间的通信。当你启动多个服务时,它们可以通过网络互相发现和连接。这里的配置创建了一个名为 milvus 的网络,并将 etcd 服务连接到这个网络中。

(二)为什么需要这个配置?

如果你有多个相关的服务(如 Milvus 数据库及其依赖的组件),它们通常需要在同一个网络中才能相互通信。通过指定 name: milvus,你确保了:

  1. 所有连接到 milvus 网络的服务可以通过服务名(如 etcd)互相访问。
  2. 网络名称是可预测的,便于其他服务加入这个网络。

(三)服务间通信示例

假设你还有一个连接到 milvus 网络的 Milvus 服务,它可以通过以下方式访问 etcd

import etcd3
client = etcd3.client(host='etcd', port=2379)  # 直接使用服务名 'etcd' 作为主机名

(四)默认网络 vs 自定义网络

如果不指定 networks 部分,Docker Compose 会自动创建一个默认网络,但名称会基于项目名称生成(如 projectname_default)。通过显式命名网络为 milvus,你可以更清晰地组织网络结构,也便于与其他服务集成。

九、总结

这个 Docker Compose 文件定义了一个 etcd 服务,配置了环境变量、数据持久化、启动参数和健康检查。它使用 milvus-etcd 作为容器名称,将数据存储在宿主机的 volumes/etcd 目录中,并通过 2379 端口提供服务。这是一个单节点的 etcd 配置,通常用于开发或测试环境。

网络部分配置创建了一个名为 milvus 的 Docker 网络,并将 etcd 服务连接到这个网络中。这样,其他同样连接到 milvus 网络的服务就可以通过服务名(如 etcd)与这个 etcd 实例通信。这是微服务架构中常用的网络组织方式。

http://www.dtcms.com/wzjs/821653.html

相关文章:

  • 做海报的网站有哪些内容seo外包费用
  • 北京企业展示网站建设网站建设与维护案列
  • 唐山做企业网站公司职业生涯规划大赛时间
  • 贵阳网站定制开发广告设计软件photoshop
  • 沥林行业网站建设中文域名
  • 怎么做教育网站西安产品设计公司
  • 长沙网站seo推广公司北仑建设局质监站网站
  • 源码下载网站cmswordpress 好seo吗
  • 网站内容建设培训通知太仓网络公司
  • 网站栏目是什么免费注册163免费邮箱
  • 12380网站建设情况的报告正规网店代运营公司
  • 广州建站培训学校网站用社交图标做链接侵权吗
  • 简述网站建设的一般步骤怎么做整蛊网站
  • 鞍山人才网官方网站建设包包网站的目的
  • flash做网站轮播图禹顺生态建设有限公司网站
  • 百度推广网站建设wordpress手机导航条怎么做
  • 国内高清视频素材网站私人wordpress
  • 音乐网站建设策划wordpress数据库连接
  • 怎么给网站做百度坐标定位wordpress oa主题
  • 营销网站建设方案郴州网红打卡餐厅
  • 彩虹网站建设263邮箱注册
  • 网站前台维护许昌河南网站建设
  • 网站服务是指东莞技术好的网站建设推广
  • 免费制作一个企业网站做钢材的网站有哪些
  • ui培训班一般学费多少上海seo培训中心
  • 网站开发财务企业网站建设需要哪些步骤
  • 车工订单网站数字营销包括哪些方面
  • 手机上的网站是怎么做的xampp wordpress 安装
  • 如何搭建网站服务器python 做网站开发吗
  • 安阳市建设工程招标投标协会网站衡阳市住建局官方网站