dockerでsquidを動かしたいのでDockerfile作った
使い方
git clone
git clone https://github.com/thr3a/squid-docker-compose.git
で、実行するだけ
cd squid-docker-compose docker-compose up
あとは
# squidのデフォルトのポートが3128 curl example.com --proxy localhost:3128
で確認できる。
カスタマイズ
設定をオレオレ仕様にしたいってのは当然あるはずで、カスタム性を高めた(つもり
手元にすでにsquid.confがある場合、デフォルトの設定は/etc/squid/conf.d/default.confに書かれているので、
volumes: - "./squid.conf:/etc/squid/conf.d/default.conf"
をdocker-compose.ymlに書いてあげればそれをロードしてsquidが起動する。
工夫した点
パーミッション
squidは仕様上squidユーザーで起動してしまうのでパーミッション周りがroot前提のalpineでやろうとするとちょいちょいPermission denied
で怒られる。
ので、
RUN install -d -o squid -g squid \ /var/cache/squid \ /var/log/squid \ /var/run/squid && \ chmod +x /usr/lib/squid/*
で作ってる。
設定の柔軟性
上記にもあったが、カスタマイズしやすいようにしている。squidはデフォルトで/etc/squid/squid.confをロードするので、/etc/squid/squid.confの中身を
echo 'include /etc/squid/conf.d/*.conf' > /etc/squid/squid.conf
にして、複数ファイルをロードできるようにした。squid-log.confではアクセスログを標準出力に流す設定にしたので基本いじらなくていいと思う。