2020年11月19日木曜日

docker 上で squid を動かす

概要

前回 Ubuntu 上に squid を構築しました
今回は docker 上に構築してみたいと思います

環境

  • Ubuntu 16.04
  • docker 19.03.12

キャッシュ用のディレクトリ作成

squid がキャッシュした情報を永続化するためにホスト側にマウントします
ディレクトリは何でも OK です

  • mkdir /home/vagrant/cache

コンテナ起動

ではコンテナを起動します
先程作成したキャッシュ用のディレクトリを /var/spool/squid でマウントします

docker run --name squid -d --restart=always \
  -p 3128:3128 \
  -v /home/vagrant/cache:/var/spool/squid \
  sameersbn/squid:3.5.27-2

設定ファイルを使う

デフォルトだと http/https プロキシとして使えないので設定ファイルを変更します

  • mkdir /home/vagrant/config
  • vim /home/vagrant/squid.conf
http_access allow all
docker run --name squid -d --restart=always \
  -p 3128:3128 \
  -v /home/vagrant/config/squid.conf:/etc/squid/squid.conf \
  -v /home/vagrant/cache:/var/spool/squid \
  sameersbn/squid:3.5.27-2

使う

あとは普通に使うだけです
curl の場合は以下のように使えます

  • http_proxy=192.168.100.10:3128 https_proxy=192.168.100.10:3128 curl https://kaka-request-dumper.herokuapp.com/

設定ファイルをリロードするには

SIGHUP を送信します

  • docker kill -s HUP squid

おまけ: docker-compose で起動する

docker-compose で管理したい場合はこれを使いましょう

  • vim docker-compose.yml
version: '3'
services:
  squid:
    image: sameersbn/squid:3.5.27-2
    ports:
      - "3128:3128"
    volumes:
      - /home/vagrant/cache:/var/spool/squid
      - /home/vagrant/config/squid.conf:/etc/squid/squid.conf
    restart: always
  • docker-compose up -d

最後に

docker 上で squid コンテナを立ててみました
バージョンを上げたい場合はイメージを変更すれば動作すると思います

参考サイト

0 件のコメント:

コメントを投稿