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_LOCALNET10.0.0.0/8 ENV SQUID_CACHE_PEER"" #ENV SQUID_NEVER_DIRECT "allow all"
ENV CACHE_MAX_SIZE100 ENV CACHE_MAX_OBJECT_SIZE4 ENV CACHE_MAX_MEM256
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
EXPOSE3128
VOLUME ["/var/spool/squid3"]
ENTRYPOINT ["/start"]
|
👽startコマンド
続いてSquidを立ち上げるためのコマンドです。
#!/bin/bash -ue
# Write the configuration 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
#acssions on the log dir sudo -u proxy -H mkdir -p /var/log/squid3 chmod -R 755 /var/log/squid3 chown -R proxy:proxy /var/log/squid3
# fix permissions on the cache dir sudo -u proxy -H mkdir -p /var/spool/squid3 chown -R proxy:proxy /var/spool/squid3
# initialize the cache_dir 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
# -X verbose debug logging # -N Don't run in daemon mode - important for docker
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のヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!