Я хотел бы создать Dockerfile, который запускает прокси-сервис squid в Google Cloud.Я немного запутался с ENTRYPOINT:
FROM ubuntu:latest
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
ENV SQUID_CACHE_DIR=/var/spool/squid
ENV SQUID_LOG_DIR=/var/log/squid
RUN apt-get install -y squid apache2-utils
COPY ./etc/squid/passwd /etc/squid
COPY ./etc/squid/squid.conf /etc/squid
EXPOSE 3128/tcp
WORKDIR /root
ENTRYPOINT service squid start && bash
Squid является фоновым сервисом, поэтому мне пришлось добавить команду "bash", чтобы контейнер работал и работал.Есть ли более правильный способ поддержания контейнера в рабочем состоянии?
Контейнер работает правильно, когда я запускаю его локально:
docker run -d --name docker_squid -p 3128:3128 --rm -t docker_squid bash
и
curl -x http://localhost:3128 -L https://www.example.com
ОднакоКогда я собираю и запускаю образ в облаке Google, кажется, что процесс squid продолжает перезапускаться, поэтому он полностью игнорирует оператор bash.Есть мысли?
В каких случаях было бы целесообразнее использовать:
CMD service squid start && tail -F /var/log/squid/access.log