dockerを使ってnwdiagする
nwdiagとは
テキストファイルからネットワーク図を作成してくれるツールです。
これが...
sample.diag
nwdiag {
network dmz {
address = "210.x.x.x/24"
web01 [address = "210.x.x.1"];
web02 [address = "210.x.x.2"];
}
network internal {
address = "172.x.x.x/24";
web01 [address = "172.x.x.1"];
web02 [address = "172.x.x.2"];
db01;
db02;
}
}
diagファイルの書き方は下記URL先を確認してください。http://blockdiag.com/ja/nwdiag/introduction.html
使い方
- diagファイルを作成
- コンテナを使って変換
docker pull kmd2kmd/blockdiag
mkdir workdir
docker run -it --rm -v $PWD/workdir:/root/workdir kmd2kmd/blockdiag nwdiag -Tsvg sample.diag
これでworkdir内にsvgで出力されます。
png,pdfに変換することもできます。
svg以外ではグラデーションが省略されてしまいます。
svgで出力してから他形式に変換することをおすすめします。
オプション | フォーマット |
---|---|
Tpdf | |
Tpng | png |
Tsvg | svg |
あとがき
- コンテナにはnwdiag以外にもblockdiagやactdiagがインストールされていますが動作確認していません。
- コンテナ容量が600M近くあります...nwdiagのみにするべきだったかなと反省してます。
- NotoSanCJKjp-Regularをコンテナに内蔵しています。Dockerfileを見ればフォントの差し替えは容易なのでお好みで、.blockdiagrcを編集するのを忘れないでください。