The blog about containerisation, virtual machines and useful shell snippets and findings

Ускоряем установку deb пакетов в docker

Запускаем контейнер с deb-proxy и squid

docker run --name proxy -p 8000:8000 muccg/squid-deb-proxy

добавляем в начало нашего Dockerfile

RUN route -n | awk '/^0.0.0.0/ {print $2}' > /tmp/host_ip.txt
RUN echo "HEAD /" | nc `cat /tmp/host_ip.txt` 8000 | grep squid-deb-proxy \
  && (echo "Acquire::http::Proxy \"http://$(cat /tmp/host_ip.txt):8000\";" > /etc/apt/apt.conf.d/30proxy) \
  && (echo "Acquire::http::Proxy::ppa.launchpad.net DIRECT;" >> /etc/apt/apt.conf.d/30proxy) \
  || echo "No squid-deb-proxy detected on docker host"

и вуаля, теперь при сборке пакеты качаются из локального кеша squid