diff --git a/Cloud/squid/7.1/24.03-lts-sp1/Dockerfile b/Cloud/squid/7.1/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..e26bc194f56bbf979f4516af14415f68286f87c6 --- /dev/null +++ b/Cloud/squid/7.1/24.03-lts-sp1/Dockerfile @@ -0,0 +1,32 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} + +ARG VERSION=7.1 +ARG SQUID_PREFIX=/usr/local/squid +RUN yum -y update && yum -y install wget gcc g++ make perl openssl shadow-utils && yum clean all && \ + wget -O squid.tar.gz https://github.com/squid-cache/squid/releases/download/SQUID_${VERSION//./_}/squid-${VERSION}.tar.gz +RUN mkdir /squid && tar -xvf squid.tar.gz -C /squid --strip-components 1 && \ + cd /squid && ./configure \ + --prefix=$SQUID_PREFIX \ + --enable-arp-acl \ + --enable-linux-netfilter \ + --enable-linux-tproxy \ + --enable-async-io=100 \ + --enable-poll \ + --enable-gnuregex && \ + make -j "$(nproc)" && make install && \ + rm -rf squid.tar.gz /squid && \ + ln -s $SQUID_PREFIX/sbin/* /usr/local/sbin/ && \ + useradd -M -s /sbin/nologin squid && \ + chown -R squid:squid $SQUID_PREFIX/var/ + +COPY entrypoint.sh /usr/local/bin/ +RUN sed -i '$a\cache_effective_user squid' $SQUID_PREFIX/etc/squid.conf && \ + sed -i '$a\cache_effective_group squid' $SQUID_PREFIX/etc/squid.conf && \ + sed -i '$a\visible_hostname 192.168.0.101' $SQUID_PREFIX/etc/squid.conf && \ + sed -i '$a\max_filedescriptors 65536' $SQUID_PREFIX/etc/squid.conf && \ + sed -i '$a\cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256' $SQUID_PREFIX/etc/squid.conf && \ + chmod 755 /usr/local/bin/entrypoint.sh + +ENTRYPOINT [ "entrypoint.sh" ] +EXPOSE 3128 diff --git a/Cloud/squid/7.1/24.03-lts-sp1/entrypoint.sh b/Cloud/squid/7.1/24.03-lts-sp1/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..baf2cc58f286147f85a8e3831eaa87323ae67140 --- /dev/null +++ b/Cloud/squid/7.1/24.03-lts-sp1/entrypoint.sh @@ -0,0 +1,23 @@ +#!/bin/sh +set -e + +# allow arguments to be passed to squid +if [[ ${1:0:1} = '-' ]]; then + EXTRA_ARGS="$@" + set -- +elif [[ ${1} == squid || ${1} == $(which squid) ]]; then + EXTRA_ARGS="${@:2}" + set -- +fi + +# default behaviour is to launch squid +if [[ -z ${1} ]]; then + if [[ ! -d ${SQUID_CACHE_DIR}/00 ]]; then + echo "Initializing cache..." + $(which squid) -N -f /usr/local/squid/etc/squid.conf -z + fi + echo "Starting squid..." + exec $(which squid) -f /usr/local/squid/etc/squid.conf -NYCd 1 ${EXTRA_ARGS} +else + exec "$@" +fi diff --git a/Cloud/squid/meta.yml b/Cloud/squid/meta.yml index 88ec67f21bf33f0d4c94753ff4a984e020ed36a9..f2685da959f52e5156c418ba6e537468db5e4d82 100644 --- a/Cloud/squid/meta.yml +++ b/Cloud/squid/meta.yml @@ -1,4 +1,6 @@ 6.8-oe2203sp3: path: 6.8/22.03-lts-sp3/Dockerfile 7.0.2-oe2403sp1: - path: 7.0.2/24.03-lts-sp1/Dockerfile \ No newline at end of file + path: 7.0.2/24.03-lts-sp1/Dockerfile +7.1-oe2403sp1: + path: 7.1/24.03-lts-sp1/Dockerfile \ No newline at end of file