techthinkerorg/squid Docker Image
Squid是基于Ubuntu的代理缓存服务器,支持认证配置与Kubernetes部署,可用于加速网络访问和缓存内容。
Squid
Squid is a proxy cache server.
Uses
- Open Chromium browser with proxy
shchromium --proxy-server="https=server-ip:3128;http=server-ip:3128"
-
For firefox, use proxy settings and use same http and http proxy as
server-ipand port3128. -
Note: Login credentials will ask on Prompt in browser if required. If you need tunnel you can use ssh.
ssh -L 3128:server-ip:3128 username@server-ip. Then in your new proxy host will belocalhostand port will be3128.
Available Versions:
edgeandv1.0.0version has very basic squid. It is not configured, So,squid.confneed to download and put in deployment. Kubernetes deployments are based on these versions.v2.0.0has pre-configured authentication setup.
Note
- For
v2.0.0or higher you do not need to download and putsquid.conf. - Environment variables -
AUTH_REQUIRED=true/false,USERNAMEandPASSWORD.
Docker-compose
ymlversion: "3" services: squid: image: techthinkerorg/squid:v2.0.0 container_name: squid ports: - "3128:3128" environment: - AUTH_REQUIRED=true - USERNAME=squid - PASSWORD=squid1234 volumes: - data:/var/spool/squid volumes: data:
Deploy with Kubernetes
Works with any Kubernetes; if you don't have one, we recommend you install MicroK8s and microk8s.enable dns storage then snap alias microk8s.kubectl kubectl.
Download https://git.launchpad.net/~ubuntu-docker-images/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf?h=5.2-22.04 and https://git.launchpad.net/~ubuntu-docker-images/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml?h=5.2-22.04 and set containers.squid.image in squid-deployment.yml to your chosen channel tag (e.g. ubuntu/squid:5.2-22.04_beta), then:
kubectl create configmap squid-config --from-file=squid=squid.conf kubectl apply -f squid-deployment.yml
You can now access the squid proxy on port 3128
File: squid.conf
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access allow localnet http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims refresh_pattern \/InRelease$ 0 0% 0 refresh-ims refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims refresh_pattern . 0 20% 4320 logfile_rotate 0
File: squid-deployment.yml
--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: squid-volume-claim spec: accessModes: - ReadWriteOnce storageClassName: microk8s-hostpath resources: requests: storage: 500M --- apiVersion: v1 kind: Service metadata: name: squid-service labels: app: squid spec: ports: - port: 3128 selector: app: squid --- apiVersion: apps/v1 kind: Deployment metadata: name: squid-deployment spec: replicas: 1 selector: matchLabels: app: squid template: metadata: labels: app: squid spec: containers: - name: squid image: ubuntu/squid:edge ports: - containerPort: 3128 name: squid protocol: TCP volumeMounts: - name: squid-config-volume mountPath: /etc/squid/squid.conf subPath: squid.conf - name: squid-data mountPath: /var/spool/squid volumes: - name: squid-config-volume configMap: name: squid-config items: - key: squid path: squid.conf - name: squid-data persistentVolumeClaim: claimName: squid-volume-claim
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 squid 镜像标签
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务