加载中...

Docker Compose 服务配置备忘

  • 3分钟

以下是 2023 年学习时留下的服务配置,不作为当前版本的完整搭建教程。配置集中保存,便于比对当时的环境。

服务使用配置前需要补齐的条件
ClickHousedeng 外部网络,以及挂载的三个 XML 配置文件;原文未保存这些文件
KafkaZooKeeper 与 broker 的连接;advertised 地址为 127.0.0.1,仅对应本机客户端场景
Umami与当时镜像版本匹配的初始化 SQL;原文未保存 schema.postgresql.sql

镜像标签没有固定版本,不能据此保证今天能重现旧环境。未补齐上述材料之前,只把下列片段用作配置参考。

DockerCompose搭建ClickHouse单机版

通过 Docker Compose 搭建 ClickHouse 单机版

docker-compose-single-clickhouse.yml

version: "3"

services:
  clickhouse:
    image: yandex/clickhouse-server
    container_name: clickhouse
    restart: always
    networks:
      - deng
    ports:
      - "8123:8123"
      - "9000:9000"
    volumes:
      # 默认配置
      - ./data/config/docker_related_config.xml:/etc/clickhouse-server/config.d/docker_related_config.xml:rw
      - ./data/config/config.xml:/etc/clickhouse-server/config.xml:rw
      - ./data/config/users.xml:/etc/clickhouse-server/users.xml:rw
      - /etc/localtime:/etc/localtime:ro
      # 运行日志
      - ./data/log:/var/log/clickhouse-server
      # 数据持久
      - ./data:/var/lib/clickhouse:rw

networks:
  deng:
    external: true

DockerCompose搭建Kafka单机版

通过 Docker Compose 搭建 Kafka 单机版

docker-compose-single-kafka.yml

version: "2"
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: "zk-kafka"
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    container_name: "kafka-single"
    ports:
      - "9092:9092"
    environment:
      # client 要访问的 broker 地址
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
      # 通过端口连接 zookeeper
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      # 每个容器就是一个 broker,设置其对应的 ID
      KAFKA_BROKER_ID: 0
      # 外部网络只能获取到容器名称,在内外网络隔离情况下
      # 通过名称是无法成功访问 kafka 的
      # 因此需要通过绑定这个监听器能够让外部获取到的是 IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
      # kafka 监听器,告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务。
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
      # Kafka默认使用-Xmx1G -Xms1G的JVM内存配置,由于服务器小,调整下启动配置
      # 这个看自己的现状做调整,如果资源充足,可以不用配置这个
      KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
      # 设置 kafka 日志位置
      KAFKA_LOG_DIRS: "/kafka/logs"

Docker Compose 启动命令

docker-compose -f docker-compose-single-kafka.yml  up -d

Docker搭建一个小而美的网站流量监控——Umami

通过 Docker搭建一个小而美的网站流量监控——Umami

创建对应的目录

cd ~
mkdir -p ~/data/docker_data/umami
cd ~/data/docker_data/umami

编写docker-compose配置文件

vim docker-compose.yml
---
version: "3"
services:
  umami:
    image: ghcr.io/mikecao/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami # 这里的数据库和密码要和下方你修改的相同
      DATABASE_TYPE: postgresql
      HASH_SALT: replace-me-with-a-random-string
    depends_on:
      - db
    restart: always
  db:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami # 数据库用户
      POSTGRES_PASSWORD: umami # 数据库密码
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - ./umami-db-data:/var/lib/postgresql/data
    restart: always

启动Umami

docker-compose up -d

此时,通过访问http://ip:3000就可以看到

← 返回笔记
播放列表
当前歌曲封面
点击加载歌单
-