Content unavailable! (broken link)https://dynarocks.com/wiki/attach/PageHeader/interSULT-2.002.jpg

This page (revision-61) was last changed on 25-May-2021 08:04 by Dieter Käppel

This page was created on 16-Dec-2016 11:25 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Version Date Modified Size Author Changes ... Change note
61 25-May-2021 08:04 12 KB Dieter Käppel to previous
Incoming links Outgoing links

Difference between version and

At line 75 removed 42 lines
!!Google Jib
Mit dem jib-maven-plugin steht seit kurzem eine neue Möglichekit zur Verfügung, Docker Container zu bauen. Dabei braucht keine laufende Docker Installation zur Verfügung zu stehen. [Unterstützte Parameter|https://github.com/GoogleContainerTools/jib/blob/master/jib-gradle-plugin/README.md].
{{{
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<from>
<image>openjdk:15-jdk-alpine</image>
</from>
<to>
<image>docker.example.com/${project.build.finalName}</image>
<tags>
<tag>${project.version}</tag>
<tag>latest</tag>
</tags>
</to>
<container>
<ports>
<port>8080</port>
</ports>
</container>
</configuration>
</plugin>
}}}
!Jib Build
Der Build direkt in Nexus erfolgt mit Jib durch maven:
{{{
mvn -DsendCredentialsOverHttp=true clean install jib:build
}}}
Es kann auch offline als TAR-File gebaut werden und dann in Docker geladen:
{{{
mvn --offline clean install jib:buildTar
docker load -i target\jib-image.tar
}}}
At line 121 changed one line
Customizing findet statt durch /etc/docker/daemon.json innerhalb der virtuellen Docker-Maschine.
Customizing findet statt durch /etc/docker/docker.json innerhalb der virtuellen Docker-Maschine.
At line 199 removed 21 lines
Ein neuer Container kann mit einer Shell gestartet werden:
{{{
docker start --name suse -it registry.suse.com/suse/sles12sp5:latest
}}}
Wenn der Container nicht läuft, kann eine Shell gestartet werden mit:
{{{
docker start suse -i
}}}
!!Stats
Mit dem Stats-Command kann die CPU-Auslastung angezeigt werden:
{{{
docker stats --no-stream
}}}
__Erklärung:__ Ohne die Option --no-stream wird, ähnlich beim Unix-Command "top" die Ausgabe ständig aktualisiert. Mit dieser Option erhält man eine einmalige Ausgabe.
At line 244 changed one line
docker run -d --name portainer --restart unless-stopped -p 9000:9000 -v portainer-data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce
docker run --name portainer --restart always -p 9000:9000 -v portainer-data:/data portainer/portainer
At line 269 changed one line
Docker Container können mit [v2tec/watchtower|https://hub.docker.com/r/v2tec/watchtower] bzw. [containrrr/watchtower|https://hub.docker.com/r/containrrr/watchtower] automatisch upgedated werden.
Automatische Updates können mit [Ouroboros|https://hub.docker.com/r/pyouroboros/ouroboros] durchgeführt werden.
At line 271 changed 5 lines
Die Startparameter lauten:
* __Socket:__ -v /var/run/docker.sock:/var/run/docker.sock
* __Credentials:__ -v /home/<user>/.docker/config.json:/config.json
* __Intervall:__ --interval 28800
* __Argumente:__ [Arguments|https://containrrr.dev/watchtower/arguments/]
Der Zugriff auf Docker erfolgt durch ein Binding: /var/run/docker.sock:/var/run/docker.sock
At line 277 changed one line
__Hinweis:__ Die User können auf dem Docker-Host angelegt werden mit: docker login -u <username> -p <password> <server>
Dann konfiguriert man einige Environment-Variablen:
At line 212 added 7 lines
||Variable||Erklärung||Wert
|SELF_UPDATE|Ob der Updater sich selbst updaten soll|true
|MONITOR|Welche Container überwacht welchen sollen|mongo mongo-express jenkins portainer rabbitmq
|DOCKER_SOCKETS|Docker Connection|unix://var/run/docker.sock tcp://192.168.1.1:2375
[Dokumentation|https://github.com/pyouroboros/ouroboros/wiki/Usage]
At line 286 removed 47 lines
!!Registry
[Docker] Images können in einer Registry gespeichert werden. Dazu das Image registry verwenden. Port ist 5000, Volume ist /var/lib/registry.
Möchte man keinen SSH-Key installieren, muss in /etc/docker/daemon.json die Registry als insecure eingetragen werden:
{{{
{
"insecure-registries" : ["<host>:5000"]
}
}}}
!!Sonatype Nexus
Das klassische Repository für Maven Artifakte kann auch für Docker-Images verwendet werden.
!Password Recovery
Verbinden zur Datenbank "Orient":
{{{
cd /nexus-data/db
java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
connect plocal:/nexus-data/db/security admin admin
}}}
Dann können die User angesehen werden:
{{{
select * from user
repair database --fix-links
rebuild index *
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"
INSERT INTO user_role_mapping (userId, source, roles) VALUES ('admin', 'default', 'nx-admin')
INSERT INTO realm (realm_names) VALUES (['NexusAuthenticatingRealm','NexusAuthorizingRealm'])
}}}
__Hinweis:__ Das Werkspasswort ist "admin123".
Datenbank komplett neu erstellen. Das Beispiel ist für config, kann auch mit security gemacht werden:
{{{
connect plocal:/nexus-data/db/config admin admin
export database config-export
drop database
create database plocal:/nexus-data/db/config
import database config-export.json.gz -preserveClusterIDs=true
rebuild index *
}}}
×