docker-composeでproxyサーバを立ち上げる手順です。作成したDockefileは公開しています。
🚜 Dockerfile
まずはSquidのDockerfileです。
FROM ubuntu:14.04
MAINTAINER morizyun <@zyunnosuke>@zyunnosuke>
ENV SQUID_USERNAME squiddummyuser ENV SQUID_PASSWORD squiddummypassword ENV SQUID_LOCALNET 10.0.0.0/8 ENV SQUID_CACHE_PEER ""
ENV CACHE_MAX_SIZE 100 ENV CACHE_MAX_OBJECT_SIZE 4 ENV CACHE_MAX_MEM 256
RUN apt-get update && \ apt-get install -y squid3 apache2-utils m4 && \ mv /etc/squid3/squid.conf /etc/squid3/squid.conf.dist && \ apt-get clean
ADD squid.conf.m4 /etc/squid3/squid.conf.m4 ADD start /start
EXPOSE 3128
VOLUME ["/var/spool/squid3"]
ENTRYPOINT ["/start"]
|
👽 startコマンド
続いてSquidを立ち上げるためのコマンドです。
m4 -DCACHE_MAX_SIZE="{{${CACHE_MAX_SIZE:-100}}}" \ -DCACHE_MAX_OBJECT_SIZE="{{${CACHE_MAX_OBJECT_SIZE:-4}}}" \ -DCACHE_MAX_MEM="{{${CACHE_MAX_MEM:-256}}}" \ -DSQUID_LOCALNET="{{${SQUID_LOCALNET:-127.0.0.1/32}}}" \ -DSQUID_CACHE_PEER="{{${SQUID_CACHE_PEER:-}}}" \ -DSQUID_NEVER_DIRECT="{{${SQUID_NEVER_DIRECT:-}}}" \ /etc/squid3/squid.conf.m4 > /etc/squid3/squid.conf
sudo -u proxy -H mkdir -p /var/log/squid3 chmod -R 755 /var/log/squid3 chown -R proxy:proxy /var/log/squid3
sudo -u proxy -H mkdir -p /var/spool/squid3 chown -R proxy:proxy /var/spool/squid3
if [ ! -d /var/spool/squid3/00 ]; then /usr/sbin/squid3 -N -f /etc/squid3/squid.conf -z fi
if [ -n "${SQUID_USERNAME:-}" ] && [ -n "${SQUID_PASSWORD:-}" ]; then htpasswd -bc /etc/squid3/passwd "${SQUID_USERNAME}" "${SQUID_PASSWORD}" fi
exec /usr/sbin/squid3 -N -X -Y -C -f /etc/squid3/squid.conf $@
|
🍄 docker-compose.yml
docker-compose.yml
です。こちらを作成後、docker-compose up
とするとSquidサーバが立ち上がります。
version: '2' services: Squid: image: morizyun/squid-docker environment: SQUID_PASSWORD: squiddummypassword SQUID_USERNAME: squiddummyuser volumes: - /srv/docker/squid/cache:/var/spool/squid3 ports: - 3128:3128/tcp labels: io.rancher.container.pull_image: always
|
🐯 補足:Squidのキャッシュを無効にする
Squidのキャッシュやログの保持を無効にする場合はsquid.conf
に次の内容を追記します。
# No Cache acl NOCACHE src all cache deny NOCACHE cache_dir null /dev/null
# No Log cache_access_log /dev/null cache_store_log none cache_log /dev/null
|
🐹 参考リンク
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!