У меня есть приложение django в контейнере Docker.Я построил образ, используя
docker build --build-arg http_proxy=$http_proxy \
--build-arg https_proxy=$https_proxy \
--build-arg no_proxy=$no_proxy \
-t <tag> .
И мои прокси-переменные установлены в моем текущем терминальном сеансе с использованием
export http_proxy=http://user:pass@proxy.company.com:8099/
export https_proxy=http://user:pass@proxy.company.com:8099/
export no_proxy=*.local,localhost,169.254.169.254,*.abc.company.com,*.cloud.company.com
Ниже приведен Dockerifle:
FROM artifactory.cloud.company.com/amazonlinux:2.0.20181010
ENV PIP_INDEX_URL https://artifactory.cloud.company.com/artifactory/api/pypi/pypi-internalfacing/simple/
RUN yum install -y python3 python3-devel python3-setuptools python3-pip git gcc
RUN pip3 install --upgrade --trusted-host artifactory.cloud.company.com pip setuptools
RUN amazon-linux-extras install nginx1.12
RUN yum install -y python2-pip
RUN pip2 install supervisor -i https://artifactory.cloud.company.com/artifactory/api/pypi/pypi-internalfacing/simple/ --trusted-host artifactory.cloud.company.com
RUN pip3 install uwsgi
RUN pip3 install django requests python-decouple
RUN mkdir -p /ASVDASHBOARD
# Application folder on the server with absolute path.
ADD ./ASVDASHBOARD /ASVDASHBOARD
WORKDIR /ASVDASHBOARD
RUN mkdir -p /etc/supervisor/
RUN cp ASVDASHBOARD_nginx.conf /etc/nginx/conf.d/default.conf
RUN cp ASVDASHBOARD_supervisor.conf /etc/supervisor/supervisord.conf
#RUN cp ASVDASHBOARD_supervisor.conf /etc/supervisord.d/
RUN chown -R nginx:nginx /ASVDASHBOARD && \
mkdir -p /ASVDASHBOARD/logs/ && \
touch /ASVDASHBOARD/logs/dashboard.log
RUN python3 manage.py makemigrations && \
python3 manage.py migrate --run-syncdb && \
python3 manage.py migrate
RUN python3 manage.py update_data
RUN mkdir /run/uwsgi && chmod -R 777 /run/uwsgi
EXPOSE 8080
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]
Я также запускаю контейнер, используя
docker run -it -d --name final_dashboardd -e http_proxy -e https_proxy -e no_proxy -p 8080:8080 py37:v3
Теперь я хочу запустить задание cron в контейнере для запуска этой команды python3 /pathtofile/manage.py update_data
.Чтобы просто запустить вручную, мне нужно будет присоединить терминал оболочки к контейнеру с помощью exec, установить прокси и затем запустить команду, она работает нормально.
Как установить / передать прокси для запуска этого задания cronсейчас.Я пытался
*/1 * * * * python3 /pathtofile/manage.py update_data
, который не работал.Как пройти прокси здесь, так как я подключен к терминалу и у меня настроены переменные прокси.это работает Но как настроить прокси для cron.