nanomq / nanomq

An ultra-lightweight and blazing-fast Messaging broker/bus for IoT edge & SDV
https://nanomq.io
MIT License
1.74k stars 205 forks source link

modify dockerfile to ease use of NANOMQ_CONF_PATH #1981

Closed lx0758 closed 1 week ago

lx0758 commented 1 week ago

Describe the bug 使用官方 Docker 镜像部署 NanoMQ 时, 自定义 NANOMQ_CONF_PATH 无法生效.

2025-02-05 10:30:13 [1] ERROR /home/runner/work/nanomq/nanomq/nng/src/supplemental/nanolib/conf_ver2.c:1977 conf_parse_ver2: Configure file [/etc/nanomq.conf] or [/etc/nanomq.conf] not found or unreadable

Expected behavior 期望 NANOMQ_CONF_PATH 有值时不再尝试读取默认的 /etc/nanomq.conf.

Actual Behavior 启动报错:

2025-02-05 10:30:13 [1] ERROR /home/runner/work/nanomq/nanomq/nng/src/supplemental/nanolib/conf_ver2.c:1977 conf_parse_ver2: Configure file [/etc/nanomq.conf] or [/etc/nanomq.conf] not found or unreadable

To Reproduce 使用这个 docker-compose.yaml 片段启动服务, 并且本地存在 ~/nanomq/etc/nanomq.conf 文件.

services:
  nanomq:
    image: "emqx/nanomq:0.23.2-full"
    restart: unless-stopped
    environment:
    - "NANOMQ_CONF_PATH=/etc/nanomq/nanomq.conf"
    ports:
    - 1883:1883
    volumes:
    - "~/nanomq/etc/:/etc/nanomq/:rw"

Environment Details 如上.

Client SDK 无关.

Additional context 无.

lx0758 commented 1 week ago

https://github.com/nanomq/nanomq/tree/master/deploy/docker 构建文件中强制指定了:

CMD ["--conf", "/etc/nanomq.conf"]

修改一下 docker-compose.yaml 即可:

services:
  nanomq:
    image: "emqx/nanomq:0.23.2-full"
    restart: unless-stopped
    command: "--conf /etc/nanomq/nanomq.conf"
    ports:
    - 1883:1883
    volumes:
    - "~/nanomq/etc/:/etc/nanomq/:rw"
lx0758 commented 1 week ago

是不是可以在 Dockerfile 里面调整一下?