Docker-Anleitung · 10 min read · Feb 05, 2026
Verwalten von Linux-Containern mit Docker auf Ubuntu - Seite 2
4.2 Erstellen von Images mit einem Dockerfile
Das Dockerfile verwendet eine grundlegende DSL mit Anweisungen zum Erstellen von Docker-Images. Wir verwenden dann den Befehl docker build, um ein neues Image aus den Anweisungen im Dockerfile zu erstellen. Das Team von Docker, Inc. hat auch ein Dockerfile-Tutorial veröffentlicht, um Ihnen zu helfen, zu lernen, wie man Dockerfiles hier erstellt.
Jetzt werde ich eine einfache Docker-Datei erstellen, die je nach Benutzeranforderung weiter verbessert werden kann. Zuerst erstellen Sie ein Verzeichnis, zum Beispiel dir=kishore:
mkdir kishore
cd kishoreJetzt erstellen Sie ein Dockerfile wie folgt:
vi Dockerfile & geben Sie den Inhalt wie folgt ein:
| FROM ubuntu:12.04 MAINTAINER Srijan Kishore <[email protected]> RUN apt-get -qq update RUN apt-get -qqy install apache2 |
Jetzt, um den angepassten Container zu öffnen, verwenden Sie:
sudo docker build -t="srijan/custom1" .Es wird folgendes ergeben:
srijan@vboxtest:~/kishore$ sudo docker build -t="srijan/custom1" .
[sudo] Passwort für srijan:
Sende Build-Kontext an Docker-Daemon 2.56 kB
Sende Build-Kontext an Docker-Daemon
Schritt 0 : FROM ubuntu:12.04
Repository ubuntu wird abgerufen
ea7d6801c538: Download abgeschlossen
511136ea3c5a: Download abgeschlossen
65b7e9ccb809: Download abgeschlossen
f8dd6bd14f58: Download abgeschlossen
a343823119db: Download abgeschlossen
---> ea7d6801c538
Schritt 1 : MAINTAINER Srijan Kishore <[email protected]>
---> Ausführen in a6135f405eb4
---> be97c22efa82
Entfernen des Zwischencontainers a6135f405eb4
Schritt 2 : RUN apt-get -qq update
---> Ausführen in b5681cd85ba8
---> cbc3a95de894
Entfernen des Zwischencontainers b5681cd85ba8
Schritt 3 : RUN apt-get -qqy install apache2
---> Ausführen in 5765c09b530f
debconf: Verzögerung der Paketkonfiguration, da apt-utils nicht installiert ist
Wähle zuvor nicht ausgewähltes Paket libsqlite3-0.
(Lese Datenbank ... 7551 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von libsqlite3-0 (von .../libsqlite3-0_3.7.9-2ubuntu1.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libroken18-heimdal.
Entpacken von libroken18-heimdal (von .../libroken18-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libasn1-8-heimdal.
Entpacken von libasn1-8-heimdal (von .../libasn1-8-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libgpg-error0.
Entpacken von libgpg-error0 (von .../libgpg-error0_1.10-2ubuntu1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libgcrypt11.
Entpacken von libgcrypt11 (von .../libgcrypt11_1.5.0-3ubuntu0.2_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libgdbm3.
Entpacken von libgdbm3 (von .../libgdbm3_1.8.3-10_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libp11-kit0.
Entpacken von libp11-kit0 (von .../libp11-kit0_0.12-2ubuntu1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libtasn1-3.
Entpacken von libtasn1-3 (von .../libtasn1-3_2.10-1ubuntu1.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libgnutls26.
Entpacken von libgnutls26 (von .../libgnutls26_2.12.14-5ubuntu3.8_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libhcrypto4-heimdal.
Entpacken von libhcrypto4-heimdal (von .../libhcrypto4-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libheimbase1-heimdal.
Entpacken von libheimbase1-heimdal (von .../libheimbase1-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libwind0-heimdal.
Entpacken von libwind0-heimdal (von .../libwind0-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libhx509-5-heimdal.
Entpacken von libhx509-5-heimdal (von .../libhx509-5-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libkrb5-26-heimdal.
Entpacken von libkrb5-26-heimdal (von .../libkrb5-26-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libheimntlm0-heimdal.
Entpacken von libheimntlm0-heimdal (von .../libheimntlm0-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libgssapi3-heimdal.
Entpacken von libgssapi3-heimdal (von .../libgssapi3-heimdal_1.6~git20120311.dfsg.1-2ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libsasl2-2.
Entpacken von libsasl2-2 (von .../libsasl2-2_2.1.25.dfsg1-3ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libldap-2.4-2.
Entpacken von libldap-2.4-2 (von .../libldap-2.4-2_2.4.28-1.1ubuntu4.4_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libcap2.
Entpacken von libcap2 (von .../libcap2_1%3a2.22-1ubuntu3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libexpat1.
Entpacken von libexpat1 (von .../libexpat1_2.0.1-7.2ubuntu1.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libmagic1.
Entpacken von libmagic1 (von .../libmagic1_5.09-2ubuntu0.3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket file.
Entpacken von file (von .../file_5.09-2ubuntu0.3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket mime-support.
Entpacken von mime-support (von .../mime-support_3.51-1ubuntu1_all.deb) ...
Wähle zuvor nicht ausgewähltes Paket netbase.
Entpacken von netbase (von .../netbase_4.47ubuntu1_all.deb) ...
Wähle zuvor nicht ausgewähltes Paket libsasl2-modules.
Entpacken von libsasl2-modules (von .../libsasl2-modules_2.1.25.dfsg1-3ubuntu0.1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket openssl.
Entpacken von openssl (von .../openssl_1.0.1-4ubuntu5.16_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libapr1.
Entpacken von libapr1 (von .../libapr1_1.4.6-1_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libaprutil1.
Entpacken von libaprutil1 (von .../libaprutil1_1.3.12+dfsg-3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libaprutil1-dbd-sqlite3.
Entpacken von libaprutil1-dbd-sqlite3 (von .../libaprutil1-dbd-sqlite3_1.3.12+dfsg-3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libaprutil1-ldap.
Entpacken von libaprutil1-ldap (von .../libaprutil1-ldap_1.3.12+dfsg-3_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket apache2.2-bin.
Entpacken von apache2.2-bin (von .../apache2.2-bin_2.2.22-1ubuntu1.6_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket apache2-utils.
Entpacken von apache2-utils (von .../apache2-utils_2.2.22-1ubuntu1.6_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket libswitch-perl.
Entpacken von libswitch-perl (von .../libswitch-perl_2.16-2_all.deb) ...
Wähle zuvor nicht ausgewähltes Paket libclass-isa-perl.
Entpacken von libclass-isa-perl (von .../libclass-isa-perl_0.36-3_all.deb) ...
Wähle zuvor nicht ausgewähltes Paket perl-modules.
Entpacken von perl-modules (von .../perl-modules_5.14.2-6ubuntu2.4_all.deb) ...
Wähle zuvor nicht ausgewähltes Paket perl.
Entpacken von perl (von .../perl_5.14.2-6ubuntu2.4_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket apache2.2-common.
Entpacken von apache2.2-common (von .../apache2.2-common_2.2.22-1ubuntu1.6_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket apache2-mpm-worker.
Entpacken von apache2-mpm-worker (von .../apache2-mpm-worker_2.2.22-1ubuntu1.6_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket apache2.
Entpacken von apache2 (von .../apache2_2.2.22-1ubuntu1.6_amd64.deb) ...
Wähle zuvor nicht ausgewähltes Paket ssl-cert.
Entpacken von ssl-cert (von .../ssl-cert_1.0.28ubuntu0.1_all.deb) ...
Einrichten von libsqlite3-0 (3.7.9-2ubuntu1.1) ...
Einrichten von libroken18-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libasn1-8-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libgpg-error0 (1.10-2ubuntu1) ...
Einrichten von libgcrypt11 (1.5.0-3ubuntu0.2) ...
Einrichten von libgdbm3 (1.8.3-10) ...
Einrichten von libp11-kit0 (0.12-2ubuntu1) ...
Einrichten von libtasn1-3 (2.10-1ubuntu1.1) ...
Einrichten von libgnutls26 (2.12.14-5ubuntu3.8) ...
Einrichten von libhcrypto4-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libheimbase1-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libwind0-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libhx509-5-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libkrb5-26-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libheimntlm0-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libgssapi3-heimdal (1.6~git20120311.dfsg.1-2ubuntu0.1) ...
Einrichten von libsasl2-2 (2.1.25.dfsg1-3ubuntu0.1) ...
Einrichten von libldap-2.4-2 (2.4.28-1.1ubuntu4.4) ...
Einrichten von libcap2 (1:2.22-1ubuntu3) ...
Einrichten von libexpat1 (2.0.1-7.2ubuntu1.1) ...
Einrichten von libmagic1 (5.09-2ubuntu0.3) ...
Einrichten von file (5.09-2ubuntu0.3) ...
Einrichten von mime-support (3.51-1ubuntu1) ...
update-alternatives: Verwende /usr/bin/see, um /usr/bin/view (view) im automatischen Modus bereitzustellen.
Einrichten von netbase (4.47ubuntu1) ...
Einrichten von libsasl2-modules (2.1.25.dfsg1-3ubuntu0.1) ...
Einrichten von openssl (1.0.1-4ubuntu5.16) ...
Einrichten von libapr1 (1.4.6-1) ...
Einrichten von libaprutil1 (1.3.12+dfsg-3) ...
Einrichten von libaprutil1-dbd-sqlite3 (1.3.12+dfsg-3) ...
Einrichten von libaprutil1-ldap (1.3.12+dfsg-3) ...
Einrichten von apache2.2-bin (2.2.22-1ubuntu1.6) ...
Einrichten von apache2-utils (2.2.22-1ubuntu1.6) ...
Einrichten von libclass-isa-perl (0.36-3) ...
Einrichten von ssl-cert (1.0.28ubuntu0.1) ...
debconf: Frontend kann nicht initialisiert werden: Dialog
debconf: (TERM ist nicht gesetzt, daher ist das Dialog-Frontend nicht verwendbar.)
debconf: Rückfall auf Frontend: Readline
debconf: Frontend kann nicht initialisiert werden: Readline
debconf: (Dieses Frontend benötigt ein steuerndes tty.)
debconf: Rückfall auf Frontend: Teletype
Einrichten von libswitch-perl (2.16-2) ...
Einrichten von perl-modules (5.14.2-6ubuntu2.4) ...
Einrichten von perl (5.14.2-6ubuntu2.4) ...
update-alternatives: Verwende /usr/bin/prename, um /usr/bin/rename (rename) im automatischen Modus bereitzustellen.
Einrichten von apache2.2-common (2.2.22-1ubuntu1.6) ...
Aktivieren der Standardseite.
Aktivieren des Moduls alias.
Aktivieren des Moduls autoindex.
Aktivieren des Moduls dir.
Aktivieren des Moduls env.
Aktivieren des Moduls mime.
Aktivieren des Moduls negotiation.
Aktivieren des Moduls setenvif.
Aktivieren des Moduls status.
Aktivieren des Moduls auth_basic.
Aktivieren des Moduls deflate.
Aktivieren des Moduls authz_default.
Aktivieren des Moduls authz_user.
Aktivieren des Moduls authz_groupfile.
Aktivieren des Moduls authn_file.
Aktivieren des Moduls authz_host.
Aktivieren des Moduls reqtimeout.
Einrichten von apache2-mpm-worker (2.2.22-1ubuntu1.6) ...
invoke-rc.d: policy-rc.d verweigerte die Ausführung von start.
Einrichten von apache2 (2.2.22-1ubuntu1.6) ...
Verarbeitung von Triggern für libc-bin ...
ldconfig verzögerte Verarbeitung findet jetzt statt
---> 634855a43331
Entfernen des Zwischencontainers 5765c09b530f
Erfolgreich erstellt 634855a43331
srijan@vboxtest:~/kishore$Jetzt schauen wir uns unser neues Image an. Wir können dies mit dem Befehl docker images tun.
docker images srijan/custom1srijan@vboxtest:~/kishore$ docker images srijan/custom1
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
srijan/custom1 latest 634855a43331 Vor etwa einer Minute 277.4 MB
srijan@vboxtest:~/kishore$Hier werden Sie feststellen, dass die Images standardmäßig apache2 installiert haben. Lassen Sie uns dies überprüfen:
docker run -t -i srijan/apache2:webserver /bin/bashJetzt gelangen Sie in den neuen Container mit dem vorinstallierten apache2 mit 12.04ubuntu.
5 Änderung des Hostnamens
Angenommen, Sie möchten den Hostnamen ändern oder einen benutzerdefinierten Hostnamen wünschen, z. B. in meinem Fall server1.example.com.
Ich werde verwenden:
docker run -h 'server1.example.com' -t -i srijan/custom1 /bin/bashEs wird den Image-Container wie folgt ergeben:
srijan@vboxtest:~/kishore$ docker run -h 'server1.example.com' -t -i srijan/custom1 /bin/bash
root@server1:/# hostname -f
server1.example.com
root@server1:/#6 Nützliche Befehle für Docker
- pull (pull wird verwendet, um ein Image oder ein Repository aus dem Registry zu ziehen)
z. B.
docker run -i -t ubuntu /bin/bash- commit (commit wird verwendet, um den Container zu speichern)
z. B.
docker commit 73527b8b4261 srijan/apache2 8ce0ea7a1528- cp (Kopieren von Dateien/Ordnern vom Dateisystem eines Containers zum Hostpfad. Pfade sind relativ zum Wurzelverzeichnis des Dateisystems.)
z. B.
docker cp CONTAINER:PATH HOSTPATHwobei CONTAINER der Container ist & Dateien/Ordner vom PATH zum HOSTPATH kopiert werden.
- start und stop eines Containers:
docker start 4386fb97867ddocker stop 4386fb97867dwobei 4386fb97867d Ihre Containernummer ist.
- export (Exportieren des Inhalts eines Dateisystems als tar-Archiv an STDOUT)
docker export 4386fb97867d > latest.tar- import (Erstellen eines leeren Dateisystem-Images und Importieren des Inhalts des Tarballs (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) darin, dann optional taggen.)
docker import http://example.com/exampleimage.tgzImportieren von einer lokalen Datei:
Importieren in Docker über Pipe und stdin.
cat exampleimage.tgz | sudo docker import - exampleimagelocal:newImportieren von einem lokalen Verzeichnis:
sudo tar -c . | sudo docker import - exampleimagedir
- history (Zeigt die Historie eines Images an)
docker history [OPTIONS] IMAGEsudo docker history ea7d6801c538- images (Es zeigt die Images an)
docker images [OPTIONS] [NAME]Es folgen einige Optionen:
-a, –all=false Zeige alle Images an (standardmäßig werden die Zwischen-Image-Schichten herausgefiltert)
-f, –filter=[]: Geben Sie Filterwerte an (d. h. ‘dangling=true’)
–no-trunc=false Keine Ausgabe kürzen
-q, –quiet=false Nur numerische IDs anzeigen
- info (Systemweite Informationen anzeigen)
srijan@VE130214:~$ sudo docker infosrijan@vboxtest:~$ sudo docker info
Container: 20
Images: 65
Speicher-Driver: aufs
Wurzelverzeichnis: /var/lib/docker/aufs
Verzeichnisse: 105
Ausführungs-Driver: native-0.2
Kernel-Version: 3.13.0-30-generic
WARNUNG: Kein Swap-Limit-Support- inspect (Gibt niedrigstufige Informationen zu einem Container/Image zurück)
docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]- kill (Töten eines laufenden Containers/senden von SIGKILL oder einem bestimmten Signal)
docker kill [OPTIONS] CONTAINER [CONTAINER...]- login (Registrieren oder Anmelden bei einem Docker-Registry-Server, wenn kein Server angegeben ist, ist “ https://index.docker.io/v1/ “ der Standard.)
docker login localhost:8080 Es wird sich bei einem selbstgehosteten Registry anmelden.
- logs (Abrufen der Protokolle eines Containers)
docker logs CONTAINER- ps (Liste der Container)
docker ps [OPTIONS]Es hat Optionen wie:
-a, –all=false Zeige alle Container an. Nur laufende Container werden standardmäßig angezeigt.
–before=”” Zeige nur Container, die vor Id oder Name erstellt wurden, einschließlich nicht laufender.
-l, –latest=false Zeige nur den zuletzt erstellten Container, einschließlich nicht laufender.
-n=-1 Zeige n zuletzt erstellte Container, einschließlich nicht laufender.
–no-trunc=false Keine Ausgabe kürzen
-q, –quiet=false Nur numerische IDs anzeigen
-s, –size=false Größen anzeigen
–since=”” Zeige nur Container, die seit Id oder Name erstellt wurden, einschließlich nicht laufender.
- push (Pushen eines Images oder eines Repositorys in das Registry)
docker push NAME[:TAG]- restart (Es wird einen laufenden Container neu starten)
docker restart [OPTIONS] CONTAINER [CONTAINER...]- rm (Es wird einen oder mehrere Container entfernen)
docker rm [OPTIONS] CONTAINER [CONTAINER...]- rmi (Es wird ein oder mehrere Images entfernen)
docker rmi IMAGE [IMAGE...]- run (Führen Sie einen Befehl in einem neuen Container aus)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Es hat folgende Optionen:
-a, –attach=[] An stdin, stdout oder stderr anhängen.
-c, –cpu-shares=0 CPU-Anteile (relatives Gewicht)
–cidfile=”” Schreiben Sie die Container-ID in die Datei
-d, –detach=false Abgetrennter Modus: Container im Hintergrund ausführen, neue Container-ID drucken
–dns=[] Benutzerdefinierte DNS-Server festlegen
–dns-search=[] Benutzerdefinierte DNS-Suchdomänen festlegen
-e, –env=[] Umgebungsvariablen festlegen
–entrypoint=”” Überschreiben Sie den Standard-Eintragspunkt des Images
–env-file=[] Lesen Sie eine zeilengetrennte Datei von ENV-Variablen ein
–expose=[] Einen Port vom Container ohne Veröffentlichung an Ihren Host freigeben
-h, –hostname=”” Container-Hostnamen
-i, –interactive=false stdin offen halten, auch wenn nicht angeschlossen
–link=[] Fügen Sie einen Link zu einem anderen Container hinzu (name:alias)
–lxc-conf=[] (lxc exec-driver nur) Fügen Sie benutzerdefinierte lxc-Optionen hinzu –lxc-conf=”lxc.cgroup.cpuset.cpus = 0,1”
-m, –memory=”” Speicherkapazitätsgrenze (Format:
–name=”” Weisen Sie dem Container einen Namen zu
–net=”bridge” Legen Sie den Netzwerkmodus für den Container fest
‘bridge’: erstellt einen neuen Netzwerk-Stack für den Container im Docker-Bridge
‘none’: kein Netzwerk für diesen Container
‘container:
‘host’: verwendet den Host-Netzwerk-Stack innerhalb des Containers
-p, –publish=[] Veröffentlichen Sie einen Port des Containers auf dem Host
Format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
(verwenden Sie ‘docker port’, um die tatsächliche Zuordnung zu sehen)
-P, –publish-all=false Alle freigegebenen Ports an den Host-Schnittstellen veröffentlichen
–privileged=false Gewähren Sie diesem Container erweiterte Berechtigungen
–rm=false Entfernen Sie den Container automatisch, wenn er beendet wird (nicht kompatibel mit -d)
–sig-proxy=true Proxifizieren Sie alle empfangenen Signale an den Prozess (auch im Nicht-TTY-Modus)
-t, –tty=false Weisen Sie ein Pseudo-TTY zu
-u, –user=”” Benutzername oder UID
-v, –volume=[] Binden Sie ein Volume (z. B. vom Host: -v /host:/container, von Docker: -v /container)
–volumes-from=[] Montieren Sie Volumes von den angegebenen Container(n)
-w, –workdir=”” Arbeitsverzeichnis innerhalb des Containers
- save (Speichern Sie ein Image in einem tar-Archiv (standardmäßig an stdout gestreamt)
docker save IMAGE- search (Durchsuchen Sie den Docker-Index nach Images)
docker search TERM- tag (Taggen Sie ein Image in ein Repository)
docker tag [OPTIONS] IMAGE [REGISTRYHOST/][USERNAME/]NAME[:TAG]- top (Suchen Sie die laufenden Prozesse eines Containers)
docker top CONTAINER [ps OPTIONS]- version (Zeigt die Docker-Versioninformationen an.)
sudo docker versionsrijan@vboxtest:~$ sudo docker version
[sudo] Passwort für srijan:
Client-Version: 1.0.1
Client-API-Version: 1.12
Go-Version (Client): go1.2.1
Git-Commit (Client): 990021a
Server-Version: 1.0.1
Server-API-Version: 1.12
Go-Version (Server): go1.2.1
Git-Commit (Server): 990021a6 Zusammenfassung
Ich habe versucht, Sie mit Docker vertrauter zu machen, ich hoffe, dieser Leitfaden hilft Ihnen, Docker zu verstehen und in Ihren Test-/Produktionsumgebungen zu nutzen.
Für weitere Informationen siehe http://www.docker.com/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.