GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Einige DOCKER-Befehle

Hier sind ein paar grundlegende Docker-Befehle:
Siehe auch:https://github.com/wsargent/docker-cheat-sheet

Installieren der neuesten Docker-Umgebung unter Linux:

curl -sSL https://get.docker.com/ | sh

Starten Sie das Docker-Terminal in OSX

bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'

Info: Containernamen ohne '/' im Namen beziehen sich auf einfache Vorlagen für öffentliche Container
Containernamen mit einem '/' beziehen sich auf Benutzercontainer im Format:Benutzername/BasicContainer
Containernamen mit einem ':' beziehen sich auf ein Tag, das normalerweise als Subversion von Basis-/Benutzercontainern verwendet wird

Suchen Sie nach Bildern im Internet-Docker-Repository
docker search ubuntu

Laden Sie ein Docker-Image aus dem Internet in das lokale Repository herunter
docker pull ubuntu:14.04

Lokale Docker-Images auflisten:
docker images

Führen Sie ein selbst erstelltes Image (myname/ubuntu:tmpl_1) im Hintergrund aus und geben Sie dem Container den Namen MyUbuntu
docker run -itd --name=MyUbuntu myname/ubuntu:tmpl_1

An einen Container anhängen, um darin zu arbeiten (2 x Enter drücken, um danach bash zu erhalten)
docker attach MyUbuntu

Um einen Container zu verlassen, ohne dass er automatisch gestoppt wird:
CTRL-P + CTRL-Q

Wenn ein ^D (oder Exit-Befehl) in einer Container-Bash ausgegeben wird, wird der Container dann gestoppt. Um es neu zu starten, starten Sie zB
docker start MyUbuntu

Listen Sie die laufenden Container auf
docker ps
Auflisten aller Docker-Container (laufend und gestoppt)
docker ps -a
Hinweise zum Ausführen von Containern:
docker run -t -i → kann mit ^P^Q gelöst und mit docker Attach
docker run -i wieder angefügt werden → kann nicht mit ^P^Q gelöst werden; unterbricht stdin
docker run → kann nicht mit ^P^Q gelöst werden; kann SIGKILL-Client; kann mit Docker Attach erneut angefügt werden

FEHLERBEHEBUNG:
1) Wenn Sie diese Fehlermeldung erhalten, nachdem Sie einen Docker-Befehl gegeben haben:
Error response from daemon: client is newer than server (client API version: x.xx, server API version: y.yy)
Führen Sie einfach den folgenden Befehl aus, um ihre Versionen zu synchronisieren:
docker-machine upgrade

Erstellen eines neuen lokalen Docker-Images aus einem öffentlich (Internet) abgerufenen Image
#### Die COMMIT-Methode ####
Führen Sie den Container basierend auf diesem Image aus
docker run -t -i ubuntu:14.04 /bin/bash
Hinweis:Merken Sie sich die Container-ID, die in der Bash-Eingabeaufforderung steht (wird benötigt, um eine neue basierend auf dieser zu erstellen)
zB. root@ba7cbe2cd3ce:/# (ba7cbe2cd3ce ist die Container-ID)
Installieren Sie die gewünschten Softwarepakete (apt-get update &&apt-get install …. )
zB. apt-get update &&apt-get -y upgrade; apt-get install mc ssh fail2ban nmap ngrep iftop iotop htop
Wenn Sie fertig sind, stoppen Sie den Container, indem Sie die Verbindung zur Bash mit
exit or ^D trennen
Speichern Sie nun das neue Image lokal:
docker commit -m "My special container template" -a "My Name" ba7cbe2cd3ce myname/ubuntu:v001
Dadurch wird der geänderte Container lokal als neues Image mit dem Namen:myname/ubuntu:v001
Zur Überprüfung:
docker images gespeichert

#### Die 'Dockerfile'-Methode
Erstellen Sie ein Verzeichnis, in dem Sie eine spezielle Datei namens Dockerfile
erstellen, in die die Anweisungen zum Erstellen des neuen Images geschrieben werden.
mkdir ubuntu_template_001
cd ubuntu_template_001
touch Dockerfile
mcedit Dockerfile

————– Inhalt —————-
# This is a comment
FROM ubuntu:14.04
MAINTAINER My Name <mmyname @mydomain.com>
RUN apt-get update && apt-get install -y mc ssh fail2ban nmap ngrep iftop iotop htop
RUN apt-get -y install postfix

– Speichern Sie die Datei und führen Sie dann den folgenden Befehl aus, um das Image zu erstellen:
docker build -t myname/ubuntu_template_001 .
Hinweis:Das '.' am Ende des Befehls gibt an, wo sich die Docker-Datei befindet
Alle Ausgaben der Installation und die Image-ID werden ganz am Ende wie folgt angezeigt:
—> 8578743d7b30

– Wir werfen einen Blick auf alle erstellten Images:
docker images

Ergebnis:

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 8578743d7b30 3 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 20 minutes ago 318.6 MB

– Wir sehen, dass das Image mit der ID 8578743d7b30 weder einen Namen noch ein Tag hat.
Jetzt geben wir ihm einen Namen:tag
docker tag 8578743d7b30 myname/ubuntu:v002

– Überprüfen Sie die Bilderliste erneut:
docker images
Ergebnis:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
myname/ubuntu v002 8578743d7b30 16 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 33 minutes ago 318.6 MB

– Jetzt können wir einen Container basierend auf diesem neuen Image ausführen
docker run -it --name "Server2" myname/ubuntu:v002 bash -c 'service ssh start ; ifconfig eth0; bash'

Löschen eines Images aus dem lokalen Repository
docker rmi michel/ubuntu:v002

Entfernen eines Containers aus dem lokalen Docker-System
docker rm ContainerName
oder
docker rm ContainerID
So führen Sie ein Programm in einem laufenden, aber nicht angehängten Container aus:
docker exec -t -i ContainerName bash -c 'command'


Docker
  1. Eine Einführung in Docker

  2. Schnellreferenz-Spickzettel für Docker-Befehle

  3. So führen Sie MySQL in einem Docker-Container aus

  4. Wie man SSH in einen Docker-Container einfügt

  5. So installieren Sie Vim in einem Docker-Container

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So richten Sie einen Apache Docker-Container ein

Docker Exec:Ihr Goto-Befehl zum Ausführen von Befehlen in Docker

21 grundlegende Befehle, die jeder Docker-Benutzer kennen sollte

Docker-Befehle zum Verwalten des Containerlebenszyklus (Definitive Guide)