Die meisten werden schon mal einen Berührungspunkt mit Docker gehabt haben. Ich will euch heute fünf nützliche Docker Commandos zeigen, die ich fast jeden Tage wenn ich mit Docker arbeite benötige.
Inhaltsverzeichnis
Systemweite Informationen
Wenn man mehrere Docker Server betreut, braucht man hin und wieder die entsprechenden Docker Informationen für das jeweilige System. Um diese auszulesen kann man den Befehl docker info verwenden.
Das ganze sieht dann wie folgt aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | docker info Client: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 5 Server Version: 19.03.5 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 4.9.184-linuxkit Operating System: Docker Desktop OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 3.855GiB Name: docker-desktop ID: ZNO7:LBTM:PYGR:46VK:ULYE:L7HL:XELC:YJHH:ONMD:JFZR:6DGO:MTDD Docker Root Dir: /var/lib/docker Debug Mode: true File Descriptors: 29 Goroutines: 44 System Time: 2019-12-13T07:05:13.8792451Z EventsListeners: 2 HTTP Proxy: gateway.docker.internal:3128 HTTPS Proxy: gateway.docker.internal:3129 Registry: https://index.docker.io/v1/ Labels: Experimental: true Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false Product License: Community Engine |
Detached Mode für Docker Container
Für gewöhnlich ist es so, dass wenn man einen Docker Container über das Terminal starte, dass dieses Terminal blockiert wird. Um das zu umgehen und direkt wieder im Termin zu laden, kann man den detached Mode von Docker verwenden. Dafür muss man beim Starten des Container einfach -d an den Befehl anhängen
Docker Terminal mittels Attached
Hat man nun einen Docker Container im Hintergrund gestartet, will man diesen eventuell wieder in den Vordergrund holen um das Terminal zu verwenden oder sich die Logausgabe anzusehen. Dafür gibt es nun mehrere wegen.
Aus meiner Sicht der einfachste ist mit dem Befehl docker attach.
Zum Testen habe ich einen Redis Container gestartet mit dem Namen redis. Um diesen nun in den Vordergrund zu holen sieht der Befehl wie folgt aus:
1 | docker attach redis |
Laden und speichern von Docker Images in tar Datei
Wenn man gerade keinen eigenen Registry Server zur Verfügung hat und auch nicht DockerHub verwenden will, dann kann es nützlich sein ein Docker Image als tar zu speicher.
Dadurch können wir die Images zb. auf ein anderes System kopieren oder auch ein Backup auf einem Backup Storage machen.
Das ganze ist auch relative einfach. Will ich zum Beispiel mein Image mit dem Namen nlp sicher, dann sieht das ganze wie folgt aus:
1 | docker save nlp -o nlp.tar |
Will man das tar dann auf einem anderen System laden, dann sieht der Befehl so aus:
1 | docker load -i nlp.tar |
Anzeigen der Container IP Adresse
Zu guter letzte find ich persönlich es sehr wichtig, mit von einen Docker Container die IP Adresse anzeigen zu lassen. Das kann vor allem hilfreich sein, wenn man viele Docker Container hat die eine API oder ein Frontend bereitstellen.
Die IP Adresse eines laufenden Containers lässt sich am besten mit dem docker inspect Befehl anzeigen. Am Beispiel meines timescale Docker Containers sieht das wie folgt aus:
1 2 3 | docker inspect -f "{{.NetworkSettings.IPAddress}}" timescale 172.17.0.2 |
Das waren die 5 nützlichen Commandos die ich so verwende. Was braucht ihr für Docker Commandos in eurem Arbeitsalltag? Oder über welchen Befehl soll ich mal einen Artikel machen?
Schreibe einen Kommentar