Praktische Hinweise zur Installation von Jenkins mit Docker-Compose

Praktische Hinweise zur Installation von Jenkins mit Docker-Compose

Erstellen Sie ein Verzeichnis

cd /usr/local/docker/
mkdir jenkins-docker
cd jenkins-docker

Dockerfile erstellen

vi Docker-Datei
# Folgendes ist der Dateiinhalt VON jenkins/jenkins:lts

BENUTZER root
RUN mkdir -p /usr/local/ && \
	cd /usr/local/ && \
	curl -fsSL https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz > /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	tar xzf /usr/local/apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && \
	rm -rf /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	ln -s /usr/local/apache-maven-3.6.3/bin/mvn /bin/mvn && \
	ln -s /usr/local/apache-maven-3.6.3/bin/mvnyjp /bin/mvnyjp && \
	export PATH=/usr/local/apache-maven-3.6.3/bin:$PATH

BENUTZER jenkins

Erstellen des Images

docker build -t jenkins-jiacs:lts.

Zeigen Sie die Gruppen-ID von Docker auf dem Host an

Katze /etc/Gruppe | grep Docker

# [root@localhost jenkins-docker]# cat /etc/group | grep docker
# docker:x:994:
# Mein Wert ist 994, abhängig vom tatsächlichen Wert

Starten Sie den Jenkins-Container (beginnen Sie mit der Docker-Befehlszeile).

# Erstellen Sie vor dem Starten des Containers den Ordner /usr/local/docker/jenkins-docker/data und erteilen Sie Berechtigungen. # /usr/local/docker/jenkins-docker/config/settings.xml Diese Datei wird von selbst bereitgestellt (privater Server und andere Informationen können angepasst werden).
mkdir-Daten
chmod -R 777 Daten

docker run -d -p 8080:8080 -p 50000:50000 \
    -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home \
    -v /etc/localtime:/etc/localtime:ro \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /etc/docker:/etc/docker \
    -v /usr/bin/docker:/usr/bin/docker \
    -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
    -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml \
    --group-add=994 \
    --name mein-jenkins \
    jenkins-jiacs:lts
# veranschaulichen:
# 1. -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home =》Jenkins-Daten persistent speichern# 2. -v /etc/localtime:/etc/localtime:ro =》Die Zeit des Jenkins-Containers so einstellen, dass sie mit der des Hosts übereinstimmt# 3. -v /etc/docker:/etc/docker =》Der im Jenkins-Container verwendete Docker ist der auf dem Host installierte Docker, der sicherstellt, dass der von Jenkins bereitgestellte Dienst auf dem Host gestartet wird# 4. -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose Wenn auf dem Host Docker-Compose installiert ist, können Sie das Datenvolumen hinzufügen, wenn der Jenkins-Container es verwenden muss# -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml
# --group-add=994 Setzen Sie die Benutzergruppe des gestarteten Containers auf die Benutzergruppe von Docker auf dem Hostcomputer, um sicherzustellen, dass der Jenkins-Container die Berechtigung hat, den Docker-Befehl des Hostcomputers auszuführen

Starten Sie den Jenkins-Container (docker-compose start)

cd /usr/local/docker/jenkins-docker
vi jenkins-docker.yaml
version: '2' # Ändern Sie die Versionsnummer nicht, einige Versionen unterstützen den Parameter group_add nicht. Dienste:
  Jenkins:
    Bild: „jenkins-jiacs:lts“
    Containername: mein-Jenkins
    # Neustart: immer
    Häfen:
      - „8080:8080“
      - „50000:50000“
    Gruppen hinzufügen:
      - 994
    Bände:
      - ./data:/var/jenkins_home
      – /etc/localtime:/etc/localtime:ro
      – /var/run/docker.sock:/var/run/docker.sock
      – /etc/docker:/etc/docker
      – /usr/bin/docker:/usr/bin/docker
      – /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
      - ./config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml

Start-up

docker-compose -f jenkins-docker.yaml up -d

Container anzeigen

Docker PS 

Bildbeschreibung hier einfügen

Betreten des Containers

docker exec -it 0d8b70ba5cec bash
# Das anfängliche Jenkins-Passwort anzeigen (im Container ausgeführt)
cat /var/jenkins_home/secrets/initialAdminPassword

Öffnen Sie den Browser und greifen Sie auf den Jenkins-Dienst zu

http://<Host-IP>:8080/

Geben Sie das soeben ermittelte Anfangspasswort ein

Bildbeschreibung hier einfügen

Wählen Sie die empfohlenen Plugins zur Installation aus und warten Sie, bis die Plugins installiert sind (dies dauert etwas länger). Wenn die Installation einiger Plugins fehlschlägt, können Sie auf „Wiederholen“ klicken, um die Installation fortzusetzen, oder die fehlgeschlagenen Plugins aufzeichnen und sie manuell unter „Systemkonfiguration – Plugin-Konfiguration“ installieren.

Bildbeschreibung hier einfügen

Jenkins-Zeitzone ändern

Systemverwaltung > Skript-Befehlszeile, geben Sie den folgenden Befehl ein und klicken Sie auf [Ausführen]

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

Installation abgeschlossen

Dies ist das Ende dieses Artikels zur Installation von Jenkins mit Docker-Compose. Weitere Informationen zur Installation von Jenkins mit Docker-Compose finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierter Prozess der Installation von Jenkins-2.249.3-1.1 mit Docker
  • Ein ausführliches Tutorial zur Installation von Jenkins auf Docker für Anfänger
  • So installieren Sie Jenkins mit Docker
  • Detailliertes Tutorial zur Installation des Jenkins-Containers in einer Docker-Umgebung
  • Installieren Sie Jenkins mit Docker und lösen Sie das Problem des anfänglichen Plugin-Installationsfehlers
  • Beispielcode zur Installation von Jenkins mit Docker
  • Docker-Bereitstellungs- und Installationsschritte für Jenkins

<<:  Das Problem zweier Anfragen, wenn der src-Attributwert des img-Tags leer ist (Nicht-IE-Browser)

>>:  Verwenden von Iframe-Techniken, um Ideen und Beispielcode für die QQ-Implementierung von Besuchern zu erhalten

Artikel empfehlen

Was sind Inline-Elemente und Blockelemente?

1. Inline-Elemente nehmen nur die Breite des Inhal...

Lösung für vergessenes Linux MySQL-Root-Passwort

Wenn Sie sich bei der Verwendung der MySQL-Datenb...

Erstellen Sie ein privates Docker-Warehouse (selbstsignierte Methode)

Um die von uns erstellten Images zentral zu verwa...

Problemaufzeichnung bei der Verwendung des Vue+Echarts-Diagramms

Vorwort echarts ist mein am häufigsten verwendete...

Tutorial zur HTML-Tabellenauszeichnung (4): Rahmenfarbenattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie untersc...

Theorie: Die zwei Jahre User Experience

<br />Es ist nicht länger als zwei Jahre her...

Der grundlegendste Code für Webseiten

◆Zu Favoriten hinzufügen veranschaulichen Klicken...

Mehrere Möglichkeiten zum Herunterfahren des Hyper-V-Dienstes unter Windows 10

Wenn Sie VMware Workstation zum Öffnen einer virt...

SQL-Fuzzy-Abfragebericht: ORA-00909: Lösung: Ungültige Anzahl von Parametern

Bei Verwendung einer Oracle-Datenbank für Fuzzy-A...

Detaillierte Erläuterung des Überwachungsmethodenfalls von Vue

Überwachungsmethode in Vue betrachten Beachten Na...

So finden Sie den angegebenen Inhalt einer großen Datei in Linux

Denken Sie im Großen und im Kleinen und lenken Si...

Detaillierte Erläuterung des MySQL-Clusterindex und des Nicht-Clusterindex

1. Clustered-Index Tabellendaten werden in der Re...