使用容器部署,省时省力。
docker-squid 有 3 种版本
> https://github.com/b4tman/docker-squid
容器文件小
Docker Squid container based on Alpine Linux. 基于 Alpine,Size 只有 29.5MB。
有 3 种不同的版本
DockerHub:
b4tman/squid # 官方给出的命令例子,应该是从这里来的吧?但是,它在墙外?
Github:
ghcr.io/b4tman/squid # 最新版 ?
ghcr.io/b4tman/squid-armhf # arm 版
ghcr.io/b4tman/squid-ssl-bump # ssl-bump 版 ?
安装容易
1. linux 发行版,一般在官方仓库里都有 podman
sudo apt install podman
既然是代理,那么,肯定的有服务器吧?如果是 linux 服务器的话,安装 podman 就是一句命令就可以搞定了。
2. 下载镜像
squid-ssl-bump Package squid-ssl-bump · GitHub
podman pull ghcr.io/b4tman/squid-ssl-bump:latest
3. 创建数据卷
podman volume create volume1
注意:没有数据卷,容器不能启动运行。
命令用法摘录:
# 创建数据卷
podman volume ls
podman volume create volume1
find / -name volume1# 查看数据卷
podman volume inspect web
podman inspect centos1 | grep web
4. 查看上条命令所创建出来数据卷的绝对路径。相对路径好像 NG ?
记住红色字体部分的路径,不包括最后的 /_data
$ podman volume inspect volume1
[
{
"Name": "volume1",
"Driver": "local",
"Mountpoint": "/home/mypc/.local/share/containers/storage/volumes/volume1/_data",
"CreatedAt": "2024-11-09T15:42:36.750447413+08:00",
"Labels": {},
"Scope": "local",
"Options": {}
}
]
5. 官方给出的运行命令 Example:
https://github.com/b4tman/docker-squid/pkgs/container/squid-ssl-bump
docker run -p 3128:3128 \
--env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf' \
--volume=/srv/docker/squid/squid.conf:/etc/squid/my-squid.conf:ro \
b4tman/squid
主要有 4 个地方要注意
- docker :改为 podman
- my-squid.conf :改成自己的
- /srv/docker/squid/squid.conf :改成自己的数据卷的绝对路径,上面步骤 4?
- b4tman/squid 的改发,如下:
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/b4tman/squid-ssl-bump latest 50345g3d64 50 days ago 29.5 MB
b4tman/squid 改为:ghcr.io/b4tman/squid-ssl-bump:latest
6. 修改配置文件
/etc/squid/my-squid.conf # 自己建一个就好。
官方 squid.conf 配置文件,假如想要,则 sudo apt install squid 安装,然后,到 /etc/squid/ 目录下,可以找到 squid.conf 。
7. 运行,结果如下 OK
podman run -p 3128:3128 --env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf' --volume=/home/mypc/.local/share/containers/storage/volumes/volume1/squid.conf:/etc/squid/my-squid.conf:ro ghcr.io/b4tman/squid-ssl-bump:latest
$ podman run -p 3128:3128 --env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf' --volume=/home/mypc/.local/share/containers/storage/volumes/volume1/squid.conf:/etc/squid/my-squid.conf:ro ghcr.io/b4tman/squid-ssl-bump:latest
+ '[' '!' -d /var/cache/squid/ssl_db ]
+ /usr/lib/squid/security_file_certgen -c -s /var/cache/squid/ssl_db -M 4MB
Initialization SSL db...
Done
+ /usr/sbin/squid -f /etc/squid/my-squid.conf --foreground -z
2024/10/09 22:28:45| Processing Configuration File: /etc/squid/my-squid.conf (depth 0)
2024/10/09 22:28:45| Created PID file (/var/run/squid/squid.pid)
2024/10/09 22:28:45 kid1| Processing Configuration Fil# 省略
2024/10/09 14:50:31 kid1| Accepting HTTP Socket connections at conn3 local=[::]:3128 remote=[::] FD 11 flags=9
listening port: 3128
2024/10/09 14:50:32 kid1| storeLateRelease: released 0 objects
8. 具体的优化,在一步一步搞了。