如图,官方介绍了如何使用 docker-compose 启动 nsq 的几个服务,在 docker-compose 中没有配置共享数据卷,但是在 Persisting NSQ Data 中介绍了如何开启持久化,这个在 docker-compose 中如何配置呢?
我的 docker-compose.yml 文件加入了 nsql 的几个服务,做了一些修改,显示指定映射本地的端口。如下:
### NSQ Container #########################################
nsqlookupd:
image: nsqio/nsq
command: /nsqlookupd
ports:
- "4160:4160"
- "4161:4161"
nsqd:
image: nsqio/nsq
command: /nsqd --lookupd-tcp-address=nsqlookupd:4160
depends_on:
- nsqlookupd
volumes:
- ./nsq/nsqd/data:/data
ports:
- "4150:4150"
- "4151:4151"
nsqadmin:
image: nsqio/nsq
command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
depends_on:
- nsqlookupd
ports:
- "4171:4171"
我在 nsqd 服务定义中设置了 volumes,但是没有用。
把服务重启后,nsq 后台管理系统的数据都没了。
data那里设置有问题,需要制定一个
-data-dir
参数