В качестве учебного макета я пытаюсь настроить экземпляр jenkins за обратным прокси-сервером nginx, обеспечивающим также https.Поэтому я создаю один контейнер для nginx и один для jenkins.Я преуспел, включая конфигурацию nginx с (автоматически подписанными) сертификатами.Я могу связаться с экземпляром jenkins, используя https и igin контейнера nginx с моей машины.Но моя конечная цель - полностью изолировать контейнер Дженкинса, чтобы он вообще не был доступен снаружи.И это не достигнуто.Порт по умолчанию, объявленный в официальном образе 8080, я все еще могу получить доступ к экземпляру jenkins с IP-адресом контейнера jenkins и портом 8080.
Я сделал первую установку через ANSIBLE PlayBook, используя Docker-контейнер иработал хорошо.Но я не могу получить то же самое поведение с docker-compose.Вот файл docker-compose, который я написал.
version: "3.5"
services:
revproxy:
image: nginx:alpine
depends_on:
- jenkins_ci
networks:
- proxy
ports:
- "90:8080"
- "443:443"
volumes:
- /home/vagrant/dockerResources/etc/certs:/etc/nginx/certs
- /home/vagrant/dockerResources/etc/nginx/conf.d/reverse_proxy.conf:/etc/nginx/conf.d/reverse_proxy.conf
jenkins_ci:
image: jenkins/jenkins:lts
networks:
- proxy
networks:
proxy:
name: revProxy
internal: yes
При проверке контейнера jenkins_ci я могу найти его IP и направить браузер на этот IP с портом 8080. Это я не хочусделать.Я бы хотел, чтобы контейнер jenkins был доступен только через обратный прокси-адрес nginx.
Если бы кто-то мог дать мне подсказку.