Gauche-makiki で ホストが使用している port を表示する
こないだから触っていた netstatツールコンテナができました。
Gauche に付属していた example をごにょごにょしました。
実際に ポート情報を出力する部分(抜粋)はこんな感じ。
全体像は以下URLでコード見れます
https://github.com/moremagic/docker-netstat
結構複雑になっちゃった気がします。
もう少しうまい書き方があるんだろうな。
修行しよう
;; port-check app (define-http-handler "/port-check" (^[req app] (respond/ok req (html:html (html:head (html:title "Makiki-port-check")) (html:body (html:h1 "You're running server port-check") (html:p "The server is running since " app "at port " (request-server-port req) " on host " (request-server-host req) ".") (html:pre (string-join (use-port-string (iota (- 51000 32700) 32700) (strlist->numlist (map (^[s] (string-drop s 3)) (partition (^[s] (string-prefix? ":::" s)) (map (pick-num 3) (map (^[str] (string-split str #/\s+/)) (cmd-call '(netstat -an)))))))) "</br>")))))))
なお、 Dockerコンテナとして起動する場合は以下のようにしてみてください
docker run -dP --net=host moremagic/docker-netstat
http://hostname:8012/ にアクセスしてみてください。