nsq docker 部署
nsq 主要有三個組件: nsqlookupd, nsqd, nsqadmin。這三個組件都包含在 nsqio/nsq 鏡像中, 每一個組件都可以通過指定組件名的方式去啟動,啟動命令的形式如下:
docker run nsqio/nsq /command拉取基礎鏡像
docker部署
nsqlookupd
docker run --name lookupd -p 4160:4160 -p 4161:4161 -d nsqio/nsq /nsqlookupd說明:
-p 是映射埠
-d 是後臺運行容器
/nsqlookupd 就是啟動命令
nsqd
nsqadmin
docker run -d --name nsqadmin -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=172.16.49.92:4161訪問 http://172.16.49.92:4161 就可以查看 nsq系統詳情了
測試驗證
curl 172.16.49.92:4161/nodes調用 lookupd 接口查看節點信息
json {"producers":[{"remote_address":"172.17.0.1:46290","hostname":"6c684bee454b","broadcast_address":"172.16.49.92","tcp_port":4150,"http_port":4151,"version":"1.2.0","tombstones":[],"topics":[]}]}curl -d 'hello world ' 'http://127.0.0.1:4151/pub?topic=test'生產一個消息,同時也創建了一個topic。調用 lookupd 的 /topics 接口返回
通過docker logs containerID查看各個組件的日誌詳情
直接訪問 http://172.16.49.92:4171 就可以訪問 nsqadmin 的首頁
nodes 詳情頁:
docker-compose 部署
docker-compose 可以輕鬆、高效的管理容器,它是一個用於定義和運行多容器 Docker 的應用程式工具.要使用 dokcer-compose 部署,我們首先需要編寫 yaml 文件, docker-compose.yml 文件如下:
version: '3'services: nsqlookupd: image: nsqio/nsq command: /nsqlookupd ports: - "4160" - "4161" nsqd: image: nsqio/nsq command: /nsqd --lookupd-tcp-address=nsqlookupd:4160 depends_on: - nsqlookupd ports: - "4150" - "4151" nsqadmin: image: nsqio/nsq command: /nsqadmin --lookupd-http-address=nsqlookupd:4161 depends_on: - nsqlookupd ports: - "4171"定義了三個服務模塊: nsqlookupd, nsqd, nsqadmin. 具體的 docker-compose 使用可以參考: docker-compose 使用docker-compose up -d 啟動nsq 所有組件docker-compose ps 查看各個組件的運行詳情docker-compose logs 查看組件日誌其他常用命令可以通過 docker-compose --help查看