DOCKER 部署 NSQ

2021-12-29 薛丁格的貓0o0

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查看

相關焦點

  • NSQ:基於Go語言的分布式實時消息平臺
    NSQ非常容易配置和部署,且具有最大的靈活性,支持眾多消息協議。另外,官方還提供了拆箱即用Go和Python庫。如果讀者興趣構建自己的客戶端的話,還可以參考官方提供的協議規範。>:一套Web用戶界面,可實時查看集群的統計數據和執行各種各樣的管理任務utilities:常見基礎功能、數據流處理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsqNSQ的主要特點如下:具有分布式且無單點故障的拓撲結構支持水平擴展
  • 分享用Docker部署大桌子協同辦公平臺的一些經驗
    網上看了不少的項目和教程,對比過幾款收費和開源的協同軟體,最終還是大桌子Dzzoffice+onlyoffice能夠滿足我們的需求,一是開源不收費(除非是找大桌子團隊或者其他開發公司對Dzzoffice進行定製化開發才需要費用;然後就是如果自己不會安裝,可以花三百塊讓大桌子團隊幫你安裝);二是自己算是還懂點編程,能夠在開源的基礎上做點優化啊接口啊什麼的;三就是在程序架構和部署方面自己也能夠搭建個毛坯出來
  • 再見Docker Desktop,你好 Minikube!
    brew install docker注意:千萬不要運行brew install --cask docker。這會安裝Docker Desktop集成版本,我們又要重頭來過。這僅僅會安裝Docker CLI,但不會安裝Docker守護程序dockerd。你可以通過運行docker info看到這一點。
  • 雲計算核心技術Docker教程:Docker 守護進程dockerd的LCOW選項
    lcow.globalmode指定守護程序是根據需要實例化實用程序VM實例(建議使用默認值,如果省略則默認),還是使用單個全局實用程序VM(性能更好,但具有安全隱患,不建議用於生產部署)。例C:\> dockerd --storage-opt lcow.kernel=kernel.efilcow.initrd指定位於lcow.kirdpath路徑中的initrd文件的文件名。默認為initrd.img。
  • Docker用法
    /linux/centos/docker-ce.repo安裝docker後查看sudo yum install docker-ce -y;docker -v;配置鏡像加速設置docker配置文件docker安裝後默認沒有daemon.json這個配置文件,需要進行手動創建。
  • 推薦給IT新手的11個Docker免費上手項目
    該項目基於 Docker 鏡像發布部署,方便安裝和升級。支持運維常見功能:主機管理、任務計劃管理、發布部署、監控告警等2. ctop地址: http s:// github.com使用該工具可以方便的通過界面管理 docker 不用再記那些命令。安裝命令:5. docker-slim地址: http s:// github.com/docker-slim/docker-slimstar: 8.8kfork: 306自動縮減 docker 鏡像的體積的工具。
  • Docker操作必看,原來這才是正確打開Docker的新方式!
    你可以從本地構建一個鏡像,使用 docker build 命令,下文我們會說到如何構建自己的鏡像,我們先從鏡像倉庫中拉取鏡像,使用 docker pull 命令進行拉取,如下圖所示:docker pull nginx首先我們得找到 docker 的鏡像倉庫,網址:hub.docker.com
  • Dockerfile企業實戰教程
    docker run -d -p 80 --name html3 dockerfile/copy:v1docker ps | grep html3顯示如下:478868402ac4        dockerfile/copy:v1                                  "/usr/sbin/nginx -g …"   15
  • Hyperf 發布 NSQ 組件和 1.1.17 版本
    更新內容本周更新主要新增了 hyperf/nsq 組件,NSQ 是一個實時的分布式消息平臺,功能簡潔性能強大,通過該組件可非常輕鬆的在 Hyperf 中使用 NSQ 作為系統的消息隊列中間件,以及為 Crontab 組件增加了命令模式,同時我們還修復了一些組件的 🐛Bug,發布於 1.1.17 版,建議使用到 Crontab,SuperGlobals,Validation
  • 新手入門系列之-React / Vue 應用持續集成Docker 化
    應用部署從刀耕火種,到DevOps崛起,原來不止前端在迅捷發展。接下來,我將用一首歌的時間,帶大家真實的體驗一番Docker容器化。1. 樸素的Dockerfile 首先準備一個有標準運行指令的Web應用,用腳手架creat-react-app或Vue CLI等生成的即可。
  • 乾貨 Yelp是如何使用Docker的?
    這篇博客將會深入地講解Yelp是如何使用Docker來開發並部署SeatMe系統的。Docker是一個非常強大的生產環境助推器,它已經大大簡化了我們的部署方式。首先,我要簡單介紹一下Yelp的SeatMe系統的背景,以及它的開發部署方式。餐廳會通過我們的網站或者iPad應用來接受並管理客戶預定信息。我們會保證客戶所有的終端信息實時同步,同時當客戶在沒有聯網的情況下我們也支持離線更改。
  • Docker - 常用命令
    鏡像管理# 查看所有鏡像$ docker images# 搜索鏡像$ docker search nginx
  • Docker 的第二次死亡
    Docker 源於 Linux Container,可以將一臺機器的資源分成 N 份容器,做到資源的隔離,並將可運行的程序定義為標準的 docker image。相對來說,Kubernetes 屬於 Docker 容器引擎的上層:編排調度層,它可以把不同機器的每份容器進行編排、調度,組成分布式系統。
  • Dockerfile 最佳實踐
    「短暫」意味著可以停止和銷毀容器,並且創建一個新容器並部署好所需的設置和配置工作量應該是極小的。我們可以查看下12 Factor(12要素)應用程式方法的進程部分,可以讓我們理解這種無狀態方式運行容器的動機。建立上下文當你發出一個 docker build命令時,當前的工作目錄被稱為構建上下文。
  • 編寫Dockerfiles最佳實踐(Docker 18.09) | 附PDF下載
    使用-f指向Dockerfile並指定構建上下文的目錄:mkdir -p dockerfiles contextmv Dockerfile dockerfiles && mv hello contextdocker build --no-cache -t helloapp:v2 -f dockerfiles/Dockerfile
  • Wisdom Chain客戶端一鍵部署
    2.4.1 部署準備工作 官方指定作業系統為Linux ubuntu18+64位,準備好作業系統後需要先安裝部署Python,Python最低版本3.8.0,安裝成功後用python3.8 --version查看安裝是否正常(安裝方式不同,指令根據安裝方式查看)
  • 使用Docker(Mac)搭建 Nginx/Openresty - Kafka - kafkaManager
    本文默認讀者已經對Docker有一定了解,且清楚使用Docker進行部署的優勢。
  • 初探Docker的網絡模式
    今天我們就一起來認識一下docker的網絡吧~Docker的網絡模塊是可插拔式的,默認有五種網絡模式可以選擇。通過docker network ls這個命令來查看本機中所有的網絡模式。bridge模式是docker的默認網絡模式,此模式會為每一個容器設置network namespace、ip地址等,在docker啟動時候,就會在主機上創建一個名為docker0的虛擬網橋,在該主機上啟動的docker容器都會連接到這個虛擬網橋上,這樣就可以和同一宿主機上橋接模式的其它容器進行通信啦。
  • 雲計算核心技術Docker教程:解決Windows下docker埠映射問題
    在Windows系統下安裝docker並嘗試在其中運行Nginx服務,在映射完畢之後在主機的瀏覽器中,打開localhost:port無法訪問對應的服務。
  • 經驗總結 | Docker 使用筆記
    最近在看代碼審計的時候又提到了 Docker,正好借著這個機會好好的把原來記錄的比較亂的 Docker 筆記整理一下。如果你也面臨過「在使用 Docker 時,時不時就會忘記某條命令」的情況,那麼我相信本篇文章應該會對你有所幫助。