[LINUX] Neat, dessen Anstellung auf Corona verschoben wurde, hat Docker gestartet, daher werde ich eine persönliche Nachricht hinterlassen.

Einführung

Nachdem ich an einer Berufsschule grundlegende Informationen erhalten hatte, ging ich zu einem Teilzeitjob in der Stadtplanung und im Resort, an dem ich ungefähr ein Jahr lang interessiert war. Ich suchte einen Ingenieurjob und erledigte Beschäftigungsaktivitäten ( Ab etwa März). Aufgrund des Einflusses des Koronavirus bin ich jedoch seit Juli im Unternehmen, selbst wenn ich ein Stellenangebot erhalte, und es ist schwierig, einen Ort zu finden, an dem ich zuletzt arbeiten kann. Wie der Titel schon sagt, fordere ich Docker heraus und denke, dass ich meine Fähigkeiten trotzdem verbessern sollte. Als ich Student war, habe ich hauptsächlich Android-Anwendungsentwicklung studiert, aber ich habe den starken Wunsch, mit verschiedenen Technologien in Kontakt zu kommen, deshalb wollte ich mit einem soliden Verständnis von LinuxOS beginnen. Es wäre großartig, wenn wir diese Gelegenheit nutzen könnten, um Lernaufzeichnungen zu versenden. Dann danke. Ich möchte so schnell wie möglich verschiedene Dinge in der Praxis erleben. .. !!

Docker

der Begriff

Docker Hub: Eine Registrierung, die Docker-Images verwaltet, während Github Code verwaltet Docker-Datei: Entwurfsdokument zum Erstellen eines Docker-Images Docker-Image: Container erstellen, verteilbar Docker-Container: Virtuelle Umgebung für die eigentliche Entwicklung

Docker verwenden

Doker Login

$docker login

Doker image Pull

$docker pull {BILD Name:Verlinke den Namen}

Ausgabebeispiel

$docker pull hello-world:latest
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Zeile 2: Bibliothek verweist auf Docker Hub Library https://hub.docker.com/u/library/

Überprüfen Sie das lokale Docker-Image

$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        3 months ago        13.3kB
node                latest              a8d7efbae951        6 months ago        908MB

Container erstellen

$docker run {BILD Name}
//Erstellen Sie nur einen Container, um ihn auszuführen!
//Wenn Sie weiterarbeiten möchten ↓
$docker run -it {BILD Name:Verlinke den Namen} bash
//Wenn Sie weitere Namen angeben möchten
$docker run --name {Containername} -it {BILD Name:Verlinke den Namen} bash

Ausgabebeispiel

$docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Container anzeigen

$docker ps -a

Geben Sie einen vorhandenen Container ein

$docker exec {Containername}
#Um den Container zu betreten und Bash zu starten
$docker exec {Containername} -it bash

Verlasse den Container

#Im Falle eines Ausstiegs wird der Container beendet, sodass ein Neustart erforderlich ist, um den Container erneut zu betreten.
$exit
#Starten Sie neu
$docker restart {Containername oder ID}

ablösen

Wenn Sie den Container nicht am Laufen halten möchten, verwenden Sie "Strg + P + Q" anstelle des Befehls. attach

$docker attach {Containername/ID}

Informationen zum Löschen von Docker-Image und -Container

Docker Container entfernen

#Mehrere Spezifikationen sind möglich
$docker rm {Container ID}

Entfernen Sie Docker Image lokal

⚠ Beachten Sie, dass das Bild, mit dem der Container erstellt wird, nicht gelöscht werden kann.

$docker rmi {BILD Name}

Laden Sie das Image in den Docker Hub hoch

commit

Beim Festschreiben wird der Docker-Container als Docker-Image gespeichert.

$docker commit {Containername/ID} {Neuer Docker-Image-Name(:Verlinke den Namen)}

push Schieben Sie Docker Image auf Docker Hub. Im Docker wird das Push-Ziel basierend auf dem Image-Namen festgelegt, sodass der Repository-Name = Image-Name und die Version normalerweise vom Tag-Namen verwaltet werden.

#Erstellen Sie zunächst ein Ziel-Repository in Docker Hub
$docker push {Repository-Name}

Es wird nur die neue Ebene verschoben, da dadurch Speicherplatz gespart wird, da zwischen den Bildern dieselbe Bildebene vorhanden ist.

Ändern Sie den Docker-Image-Namen

#Umbenennen und Speichern des Bildes
$docker tag {Ursprünglicher Bildname:Verlinke den Namen} {Neuer Bildname:Verlinke den Namen}

DockerFile

Erstellen Sie eine Docker-Datei

#Wenn der Dateiname DockerFile ist
$docker build {Verzeichnispfad}
#Optionen bei Verwendung einer anderen Docker-Datei als dem Namen Docker-Datei
#⚠ Grundsätzlich lautet der Name von DockerFile im Allgemeinen DockerFile.
$docker build {Verzeichnispfad} -f option {Dateiname}

DockerFile-Beispiel

#FROM-basiertes Docker-Image
FROM ubuntu:latest
#RUN Imagelayer überlagert die oben genannten Schritte
RUN touch test
#COPY Image Copy Hostdaten
COPY test.md /test_dir

Referenz

Ich habe viel gelernt. Vielen Dank! DockerDocumentation Docker Super-Einführungskurs Löschen von Docker-Image und -Container

Recommended Posts

Neat, dessen Anstellung auf Corona verschoben wurde, hat Docker gestartet, daher werde ich eine persönliche Nachricht hinterlassen.
Postgres-Umgebungskonstruktion mit Docker Ich hatte ein wenig Probleme, also beachten Sie
Da ich zu verschiedenen Zeiten anfing zu arbeiten, machte ich einen Bot, der mir die Zeit sagt, die Arbeit zu verlassen
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz