Я запускаю Jenkins как образ Docker (https://hub.docker.com/_/jenkins) Изнутри я запускаю образ докера node-12 в качестве контейнера сборки.
Я запускаю сценарий для публикации новой версии в нашем локальном магазине приложений, который работает на том же VServer.
Итак, теперь у меня есть феномен, заключающийся в том, что я не могу использовать собственный URL-адрес сервера. Сценарий bash безупречно работает вне моей локальной машины, оболочки VServers, а также внутри оболочки других контейнеров.
А теперь самый странный факт: у меня всегда бывают таймауты!
Это не «не удалось разрешить» или подобное.
Примечание. Ips и домены заменяются на, а ips на Команды Curl
/ $ curl https://<my-domain>
curl: (7) Failed to connect to <my-domain> port 443: Operation timed out
/ $ curl https://example.domain
curl: (6) Could not resolve host: example.domain
/ $ curl -IL https://google.de
HTTP/2 301
Ошибка клиента NodeJS
(node:90) UnhandledPromiseRejectionWarning: Error: connect ETIMEDOUT <my-ip>:443
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
Где как гугл или другие сайты не проблема. Это только URL-адрес собственного хоста.
Я обнаружил, что при запуске из оболочки jenkins (docker exec -it jenkins bash) я также не могу выполнить ping / curl / что угодно
Спасибо за любые предложения, чтобы исправить это.
// редактировать
Это конфигурация docker-compose. Я использую traefik как обратный прокси.
jenkins:
image: jenkinsci/blueocean
container_name: jenkins
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- jenkins_data:/var/jenkins_home
labels:
- "traefik.port=8080"
- "traefik.frontend.rule=Host:ci.domain.example"
- "traefik.frontend.passHostHeader=true"
jenkins инициализируется с помощью tini (https://github.com/krallin/tini)
"Entrypoint": [
"/sbin/tini",
"--",
"/usr/local/bin/jenkins.sh"
],
Я проверю, служит ли tini брандмауэром для этого процесса.
Если я docker exec
в контейнер с корнем, я могу даже пропинговать IP, но все равно не могу свернуться.
bash-4.4# ping <my-domain>
PING <my-domain> (<my-ip>): 56 data bytes
64 bytes from <my-ip>: seq=0 ttl=64 time=0.085 ms
// редактировать 2
Я считаю, что проблема уже начинается с maven, изображение jenkins основано на:
https://github.com/jenkinsci/jenkins/blob/master/Dockerfile
Когда я создаю новый контейнер докеров с помощью maven, я получаю точно такое же поведение, как описано выше.
// редактировать 3
Я получаю такое же поведение в контейнере maven и на один уровень глубже в openjdk .. docker run -it openjdk:8-jdk
с curl на собственное имя хоста приводит к тому же поведению.
Опять же: я не получаю этого ни в одном из моих контейнеров, работающих на debian / ubuntu.
// редактировать 4
Невозможно воспроизвести с другого сервера. Затронут только этот всервер.