Movatterモバイル変換


[0]ホーム

URL:


酒と泪とRubyとRailsと

SquidをDocker&docker-composeで立ち上げ


docker-composeでproxyサーバを立ち上げる手順です。作成したDockefileは公開しています。

🚜Dockerfile

まずはSquidのDockerfileです。

FROM ubuntu:14.04

MAINTAINER morizyun<@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のヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍

Dockerについて概要Hello Dockerよく使うコマンドDockerfile書き方Dockerfile利用方法Docker HubへのPushDocker Compose概要プロジェクト例RailsプロジェクトChrome+puppeteerSelenium GridPostgreSQL + PgWebMySQL + phpmyadminRedis + Web GUIwekan(タスク管理)squid(Proxyサーバ)サーバCentOSへDocker CE導入Tipsネットワークmulti stage buildRancher入門ガイドRancher導入手順

[8]ページ先頭

©2009-2025 Movatter.jp