2017年6月4日日曜日

Squid

今回はsquidをdockerで動かす話です。

元々は、SquidをQNAPのNASにインストールして使っていました。ところが、最近QNAPのバージョンが上がる度に設定が変わったり、動作が変わったりと危うい感じに。

元々QNAPはQAが良くないみたいで、バージョンアップの度にデグレードする会社だったんですが、ここ最近は特に酷い。

というわけで、QNAP版のSquidに見切りをつけて、NAS上のdockerから適当なSquidを動したというわけです。


最初は、sameersbnのsquidを使おうとしたんですが、動くんですが、設定で大きなファイルもキャッシュするようにしてもキャッシュしてくれないんですね。1週間ぐらいずっと悩んだんですが、どうやっても出来ないので諦めました。

他に目ぼしいdocker-squidがなくて、小さくて新しいsquidがいいなあということで、Alpine Linuxを使ったsquidに。ただこれも2年前と少し古かったので、これをforkして自前のdocker imageを作ることにしました。

Alpine Linux 3.6とSquid 3.5.23です。13MB、圧縮して6MBに収まりました。またデフォルトで以下の設定で起動するようにしました。
  • キャッシュは4GB
  • 一つのファイルにつき32MBまでキャッシュ
自分のdocker imageにしてしまえば、デフォルト設定を好きに変更できていいですな(笑)

実行は
$ docker run -p 3128:3128 jam7/squid3
です。