2015年11月2日 星期一

014 docker-enabled squid proxy

Step by Step for Ubuntu 14.04 LTS, Trusty Tahr
https://docs.docker.com/installation/ubuntulinux/

Request:
1. HTTP Proxy without Authentication
2. HTTP Proxy with Basic Authentication
3. HTTP Proxy with Digest Authentication
Test Account:
root:admin
hello:kitty

step 1. Install docker


sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys       
58118E89F3A912897C070ADBF76221572C52609D
sudo vi /etc/apt/sources.list.d/docker.list
deb https://apt.dockerproject.org/repo ubuntu-trusty main
sudo apt-get -y update
sudo apt-get purge lxc-docker*
sudo apt-cache policy docker-engine
sudo apt-get -y upgrade
sudo apt-get install -y docker-engine
sudo docker run hello-world
sudo usermod -aG docker ubuntu
docker run hello-world

step 2. Prepare dockerfile


ubuntu.dockerfile.squid.txt (link)


ubuntu.dockerfile.nologin-proxy.txt (link)


ubuntu.dockerfile.basic-proxy.txt (link)


ubuntu.dockerfile.digest-proxy.txt (link)

step 3. docker build


docker build -t ubuntu_squid -f ubuntu.dockerfile.squid.txt .
docker build -t ubuntu_squid_nologin -f ubuntu.dockerfile.nologin-proxy.txt .
docker build -t ubuntu_squid_basic -f ubuntu.dockerfile.basic-proxy.txt .
docker build -t ubuntu_squid_digest -f ubuntu.dockerfile.digest-proxy.txt .

step 4. docker run


docker run --name proxy_nologin -d -p 3128:3128 ubuntu_squid_nologin
docker run --name proxy_basic -d -p 3129:3128 ubuntu_squid_basic
docker run --name proxy_digest -d -p 3130:3128 ubuntu_squid_digest

step 5. quick test


curl --verbose -x http://localhost:3128 www.google.com.tw

curl --verbose -x root:admin@localhost:3129 www.google.com.tw
curl --verbose -x root:admin@localhost:3130 --proxy-digest www.google.com.tw

curl --verbose -x root:wrong@localhost:3129 www.google.com.tw
curl --verbose -x root:wrong@localhost:3130 --proxy-digest www.google.com.tw

step 6. docker logs


docker ps -qa | awk '{ printf("docker logs %s\n",$1) }' | sh

or

docker logs -f proxy_nologin
docker logs -f proxy_basic
docker logs -f proxy_digest

step 7. stop


docker kill `docker ps -qa`
docker rm `docker ps -qa`

step 8. remove


docker rmi ubuntu_squid_nologin
docker rmi ubuntu_squid_basic
docker rmi ubuntu_squid_digest
docker rmi ubuntu_squid

1 則留言:

  1. dockerfile updated for UBuntu 16.04
    https://github.com/vash-hsu/docker

    回覆刪除