websocketd | 基於 docker 構建

AlicFeng發表於2019-07-10

websocketd 是什麼

首先它是一個開源的工具,嗯~這是重點,websocketd老家

簡潔而言、websocketd 是一個命令列工具,它包裝現有的命令列介面程式,並允許通過 websocket 訪問它。

首先websocketd 非常容易構建一個 websocket 服務,或者說該元件自身將建立一個 websocket 服務。

只要編寫一個可執行程式來讀取 stdin 並寫入 stdout,就可以構建一個 websocket 伺服器。支援 Python、Ruby、Perl、Bash、.net、C、Go、PHP、Java、Crojule、Scala、Groovy、Vabe、AWK、VBScript、Haskell、Lua、R,重點是開發者可以不關心網路這一層。

websocketd 能做什麼

基於 websocketd 自身特點,指令碼程式控制輸入而websocket 專注輸出,它可以用作於如下

  • 實時監控伺服器健康狀態
  • 實時監控日誌動態
  • 即時通訊推送
  • … ...

基於docker構建

構建的dockerfile 非常簡易,dockerfile 傳送。映象使用

docker pull alicfeng/websocketd:latest

使用示例

  • 基於 cli 模式

    # help document
    docker run -it --rm alicfeng/websocketd websocketd -h
    
    # simple usage
    docker run -it --rm alicfeng/websocketd websocketd --port=8888 your_cmd_script_path
  • 基於 docker-compose 編排工具

    編排內容如下

    version: "2"
    services:
    websocketd:
      container_name: websocketd
      image: alicfeng/websocketd:latest
      ports:
        - 9508:8888
      volumes:
        # this is cli command script for websocketd
        - ./srv/command.sh:/command.sh
      restart: always

    根據編排啟動並使用服務

    docker-compose up -d

    使用 H5 編寫一個與 websocket 通訊的程式即可看到程式效果。

    image

價值源於技術,貢獻源於分享 | 筆記分享歸檔
No matter where I am, I will reply you immediately when I see the email.
My Email: echo "YUBzYW1lZ28uY29tCg==" | base64 -d
個人比較喜歡分享,若有不對的地方非常感謝指出
相互學習、共同進步~

相關文章