Инспекция Jenkins в Docker

JenkinsBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите, как Jenkins функционирует внутри Docker-контейнера в среде LabEx. Сервис Jenkins уже установлен, запущен и доступен по адресу http://localhost:8080, поэтому вы сможете сосредоточиться на изучении модели развертывания в Docker, не тратя время на установку.

Вы научитесь:

  • Проверять доступность Docker на хосте.
  • Идентифицировать запущенный контейнер и образ Jenkins.
  • Проверять порты, используемые Jenkins.
  • Находить домашнюю директорию Jenkins внутри контейнера.
  • Читать логи контейнера и открывать веб-интерфейс Jenkins.

Эти навыки необходимы для эксплуатации Jenkins в средах разработки и обучения на базе Docker.

Инспекция среды Docker

На этом этапе вы подтвердите, что Docker доступен и среда Jenkins работает поверх него.

Откройте терминал в виртуальной машине LabEx и проверьте версию Docker:

docker --version

Вы должны увидеть вывод, похожий на этот:

Docker version ...

Затем выведите список запущенных контейнеров:

docker ps

Найдите контейнер с именем jenkins. Это контроллер Jenkins, который будет использоваться на протяжении всей лабораторной работы. Вывод содержит несколько столбцов, но наиболее важными являются имя образа, сопоставление портов и имя контейнера:

CONTAINER ID   IMAGE                    ...   PORTS                  NAMES
...            jenkins/jenkins:latest   ...   0.0.0.0:8080->8080/tcp jenkins

Ключевыми данными здесь являются имя контейнера, образ и сопоставление портов. В этой лабораторной работе вам не нужно запускать или удалять какие-либо контейнеры.

Инспекция образа Jenkins

На этом этапе вы определите Docker-образ, используемый запущенным контейнером Jenkins.

Выполните следующую команду:

docker inspect jenkins --format '{{.Config.Image}}'

Эта команда выведет имя образа, использованного для создания контейнера. В данной среде это должен быть образ Jenkins:

jenkins/jenkins:latest

Вы также можете просмотреть список локальных образов:

docker images jenkins/jenkins

Точный ID образа и время создания могут отличаться, но репозиторий должен быть jenkins/jenkins:

REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
jenkins/jenkins   latest    ...            ...           ...

Это поможет вам связать запущенный в браузере сервис с образом контейнера, который обеспечивает работу Jenkins.

Инспекция портов и данных Jenkins

На этом этапе вы изучите сетевые порты и домашнюю директорию Jenkins, используемую контейнером.

Jenkins использует порт 8080 для веб-интерфейса. Проверьте опубликованные порты:

docker port jenkins

Вы должны увидеть порт 8080, опубликованный на хосте, примерно так:

8080/tcp -> 0.0.0.0:8080
8080/tcp -> :::8080

Теперь проверьте домашнюю директорию Jenkins внутри контейнера:

docker exec jenkins ls /var/jenkins_home

Вы должны увидеть данные Jenkins, такие как задания (jobs), плагины, логи или файлы конфигурации:

config.xml
jobs
plugins
...

Jenkins хранит свою конфигурацию и данные заданий в /var/jenkins_home, поэтому эта директория является основным местом для резервного копирования или проверки при устранении неполадок.

Чтение логов контейнера Jenkins

На этом этапе вы прочитаете логи контейнера Jenkins. Логи — это первое место, куда стоит заглянуть, если Jenkins не запускается или ведет себя неожиданно.

Выполните:

docker logs --tail 30 jenkins

Вывод должен содержать сообщения о запуске или работе Jenkins. Вы можете увидеть версию Jenkins, сообщения плагинов или логи запуска HTTP-сервера.

Точные строки могут варьироваться, но команда должна вернуть последние записи логов из запущенного контейнера jenkins.

Открытие веб-интерфейса Jenkins

На этом этапе вы свяжете Docker-контейнер, который вы исследовали, с веб-интерфейсом Jenkins.

Откройте браузер Firefox из графического интерфейса рабочего стола. Браузер откроет Jenkins по адресу:

http://localhost:8080

В этой среде вход в систему не требуется.

Вы должны увидеть панель управления Jenkins.

Панель управления Jenkins

Это подтверждает, что Docker-контейнер jenkins предоставляет доступ к веб-интерфейсу Jenkins через порт 8080.

Резюме

В этой лабораторной работе вы исследовали развертывание Jenkins на базе Docker.

Вы научились:

  • Подтверждать доступность Docker.
  • Идентифицировать запущенный контейнер Jenkins.
  • Исследовать Docker-образ Jenkins.
  • Проверять доступность порта 8080.
  • Исследовать директорию /var/jenkins_home.
  • Читать логи контейнера Jenkins.
  • Открывать веб-панель управления Jenkins.

Эти навыки помогут вам понимать и устранять неполадки в средах Jenkins на базе Docker, не пересобирая контроллер с нуля.