Grundlegende Docker-CLI-Befehle: Ein Anfängerleitfaden

Docker-CLI-Befehle sind wichtig für die Verwaltung containerisierter Anwendungen. Dieser Leitfaden umfasst grundlegende Befehle wie `docker run`, `docker ps` und `docker build`, um Ihren Entwicklungs-Workflow zu optimieren.
Inhaltsverzeichnis
essential-docker-cli-commands-a-beginners-guide-2

Docker CLI: Essential Commands for Beginners

Docker is a powerful platform that enables developers to automate the deployment of applications inside lightweight containers. Containers encapsulate an application and its dependencies, ensuring that it runs seamlessly across different environments. While Docker provides a graphical user interface (GUI) in some instances, the command line interface (CLI) is the most efficient and preferred way to interact with Docker. In this article, we’ll dive deep into essential Docker CLI commands, providing a comprehensive guide for beginners aiming to harness the power of Docker.

Was ist Docker?

Bevor wir uns mit den CLI-Befehlen befassen, lassen Sie uns kurz überprüfen, was Docker ist. Docker ist eine Open-Source-Containerisierungsplattform, die es Entwicklern ermöglicht, Anwendungen in Containern zu verpacken. Ein Container enthält den Anwendungscode, die Laufzeitumgebung, Bibliotheken und Systemwerkzeuge, die zur Ausführung der Anwendung erforderlich sind. Diese Isolierung ermöglicht es den Entwicklern, sicher zu sein, dass ihre Anwendung unabhängig davon, wo sie ausgeführt wird, sei es auf dem Computer eines Entwicklers, einem Staging-Server oder in der Produktion, gleich funktioniert.

Docker installieren

Before you can start using Docker CLI commands, you need to install Docker on your machine. Docker provides detailed instructions for various operating systems—Windows, macOS, and Linux. The installation process typically involves downloading Docker Desktop for Windows and macOS or installing Docker Engine for Linux distributions.

Installationsschritte

  1. Download Docker: Besuchen Sie die Docker-Website und laden Sie die passende Version für Ihr Betriebssystem herunter.

  2. Install Docker: Follow the installation instructions specific to your OS. On Linux, you might need to configure the Docker repository and install Docker via your package manager.

  3. Start Docker: Ensure Docker is running on your machine. On Docker Desktop, you may see an icon in your system tray indicating that Docker is active.

  4. Test Installation: Open your terminal and run the command:

    docker --version

    Dies sollte die installierte Version von Docker zurückgeben, wenn alles korrekt eingerichtet wurde.

Docker CLI Grundlagen

The Docker CLI allows users to interact with the Docker daemon and manage Docker containers, images, networks, and volumes. The basic syntax of any Docker command is:

docker [OPTIONS] COMMAND [ARG...]

Um Docker-Befehle kennenzulernen, können Sie immer mit Folgendem beginnen:

docker help

This command will provide you with a brief overview of available commands.

Wichtige Docker CLI-BefehleHier sind einige der wichtigsten Docker-Befehle, die Sie kennen sollten:1. `docker run`: Erstellt und startet einen neuen Container aus einem Image.2. `docker ps`: Zeigt eine Liste aller laufenden Container an.3. `docker stop`: Stoppt einen oder mehrere laufende Container.4. `docker rm`: Entfernt einen oder mehrere Container.5. `docker images`: Zeigt eine Liste aller heruntergeladenen Images an.6. `docker rmi`: Entfernt ein oder mehrere Images.7. `docker pull`: Lädt ein Image aus einer Registry herunter.8. `docker build`: Erstellt ein neues Image aus einer Dockerfile.9. `docker exec`: Führt einen Befehl in einem laufenden Container aus.10. `docker logs`: Zeigt die Logs eines Containers an.11. `docker network`: Verwaltet Docker-Netzwerke.12. `docker volume`: Verwaltet Docker-Volumes.13. `docker-compose`: Verwaltet Multi-Container-Anwendungen mit Docker Compose.Diese Befehle sind nur ein kleiner Teil der verfügbaren Docker-Befehle. Mit ihnen können Sie jedoch die meisten grundlegenden Aufgaben in Docker erledigen.

1. Docker Images

Images are the blueprints for containers. They contain everything needed to run applications, including the code, libraries, and runtime. The following commands are fundamental when working with Docker images.

a. Listing Images

Um alle Bilder auf Ihrem lokalen System aufzulisten, verwenden Sie:

docker images

This command displays a list of images, including their repository, tag, image ID, creation date, and size.

b. Pulling an Image

To download a Docker image from Docker Hub, use:

docker pull [IMAGE:TAG]

For example:

docker pull nginx:latest

This command fetches the latest version of the Nginx image.

c. Building an Image

You can create your own Docker image using a Dockerfile. Use the following command to build an image:

docker build -t [IMAGE_NAME:TAG] [PATH_TO_DOCKERFILE]

Beispiel:

docker build -t myapp:1.0 .

This command builds an image named myapp mit dem Tag 1.0 mit der Dockerfile im aktuellen Verzeichnis.

d. Entfernen eines Bildes

To remove an image, use:

docker rmi [IMAGE_ID]

If an image is being used by a container, you might need to remove the container first or use the -f flag to force the removal.

2. Docker-Container

Container sind Instanzen von Docker-Images, die Anwendungen ausführen. Sie können Container mit verschiedenen Docker-CLI-Befehlen erstellen, starten, stoppen und verwalten.

a. Auflistung von Containern

Um laufende Container aufzulisten, verwenden Sie:

docker ps

To see all containers (including stopped ones), run:

docker ps -a

b. Running a Container

To create and start a new container from an image, use:

docker run [OPTIONS] [IMAGE:TAG]

Beispielsweise, um einen neuen Nginx-Container auszuführen:

docker run -d -p 80:80 nginx:latest

Die -d Option führt den Container im Hintergrundmodus aus, und - maps port 80 of the container to port 80 of the host.

c. Stoppen eines Containers

Um einen laufenden Container zu stoppen, verwenden Sie:

docker stop [CONTAINER_ID]

Sie können den Containernamen auch als Bezeichner verwenden.

d. Entfernen eines Containers

To remove a stopped container, use:

docker rm [CONTAINER_ID]

For removing all stopped containers, you can run:

docker container prune

e. Viewing Logs

To view the logs from a container, use:

docker logs [CONTAINER_ID]

This is particularly useful for debugging applications running inside a container.

3. Docker Networks

Docker allows you to create and manage networks, enabling containers to communicate with each other.

a. Auflistung von Netzwerken

To see all available networks, use:

docker network ls

b. Creating a Network

So erstellen Sie ein neues Netzwerk:

docker network create [NETWORK_NAME]

Beispiel:

docker network create my_network

c. Verbinden eines Containers mit einem Netzwerk

So verbinden Sie einen vorhandenen Container mit einem Netzwerk:

docker network connect [NETZWERKNAME] [CONTAINER_ID]

d. Trennen eines Containers von einem Netzwerk

So trennen Sie einen Container von einem Netzwerk:

docker network disconnect [NETZWERKNAME] [CONTAINER_ID]

4. Docker Volumes

Volumes are used to persist data generated by and used by Docker containers. They provide a way to store data outside of containers, allowing data to remain intact even if containers are stopped or removed.

a. Auflisten von Volumes

Um alle Volumes aufzulisten, verwenden Sie:

docker volume ls

b. Erstellen eines Volumes

So erstellen Sie ein neues Volume:

docker volume create [VOLUME_NAME]

c. Überprüfen eines VolumesUm ein Volume zu überprüfen, verwenden Sie den Befehl `vxprint`. Dieser Befehl zeigt die Konfigurationsinformationen des Volumes an. Sie können verschiedene Optionen verwenden, um spezifische Informationen anzuzeigen. Hier sind einige Beispiele:- `vxprint -g mydg -v myvol`: Zeigt detaillierte Informationen über das Volume `myvol` in der Diskgroup `mydg` an. - `vxprint -g mydg -m`: Zeigt die Metadaten des Volumes an. - `vxprint -g mydg -s`: Zeigt die Spiegelungsinformationen des Volumes an.Diese Befehle helfen Ihnen, den Status und die Konfiguration Ihrer Volumes zu überwachen und zu verwalten.

Um detaillierte Informationen über ein Volume zu erhalten:

docker Volume anzeigen [VOLUME_NAME]

d. Removing a Volume

So entfernen Sie ein Volume:

docker volume rm [VOLUME_NAME]

To remove all unused volumes:

docker volume prune

5. Docker Compose

Although not a single command, Docker Compose is an essential tool for managing multi-container applications. It allows you to define and run multi-container Docker applications using a single YAML file.

a. Definieren einer Compose-Datei

Erstellen Sie eine docker-compose.yml file where you define your services, networks, and volumes.

Beispiel:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

b. Starting Services

Um die in Ihrer docker-compose.yml file, run:

docker-compose up

Add the -d flag to run in detached mode.

c. Stopping Services

To stop running services, use:

docker-compose herunterfahren

Dieser Befehl stoppt und entfernt die in der docker-compose.yml file.

Docker Security

While Docker simplifies application deployment, security is crucial, especially in production environments. Understanding the security implications of containerization can help you mitigate risks. Here are some best practices:

  1. Verwenden Sie offizielle Bilder: Whenever possible, use official images from Docker Hub. These are regularly updated and maintained by trusted sources.

  2. Beschränken Sie die Rechte des Containers: Run containers with the least privileges necessary. Use the --Benutzer Option zur Angabe eines Benutzers und Vermeidung der Ausführung als Root.

  3. Regularly Scan ImagesNutze Werkzeuge wie Docker Bench SecurityDocker Bench Security ist ein Skript, das eine Reihe von Tests durchführt, um die Sicherheit von Docker-Containern und -Hosts zu überprüfen. Es basiert auf den Best Practices des Center for Internet Security (CIS) für Docker und hilft dabei, potenzielle Sicherheitslücken zu identifizieren.Das Skript überprüft verschiedene Aspekte der Docker-Konfiguration, einschließlich der Docker-Daemon-Konfiguration, der Container-Konfiguration, der Host-Konfiguration und der Docker-Registry-Konfiguration. Es liefert eine detaillierte Ausgabe, die angibt, welche Tests bestanden oder fehlgeschlagen sind, und gibt Empfehlungen zur Behebung von Sicherheitsproblemen.Docker Bench Security ist ein nützliches Werkzeug für Systemadministratoren und Sicherheitsexperten, um die Sicherheit ihrer Docker-Umgebungen zu gewährleisten und potenzielle Risiken zu minimieren. oder andere Scan-Tools, um nach Schwachstellen in Ihren Images zu suchen.

  4. Ressourcennutzung steuernBegrenzen Sie die Menge an CPU und Arbeitsspeicher, die ein Container mit dem verwenden kann. --memory and --cpus options when running a container.

  5. NetzwerksicherheitIsolieren Sie Container mithilfe von Netzwerken und beschränken Sie den Zugriff auf diejenigen, die ihn benötigen.

Fazit

Das Verständnis der Docker-CLI und ihrer grundlegenden Befehle ist für jeden Entwickler, der die Leistungsfähigkeit der Containerisierung nutzen möchte, entscheidend. Die in diesem Artikel beschriebenen Befehle bieten Anfängern eine solide Grundlage, um Images, Container, Netzwerke und Volumes effektiv zu verwalten.

As you advance in your Docker journey, consider exploring more complex scenarios such as multi-container applications with Docker Compose, orchestration with Kubernetes, and continuous integration and deployment (CI/CD) pipelines that integrate Docker for automated deployments.

Durch die Beherrschung der Docker-CLI optimieren Sie Ihren Entwicklungs-Workflow, steigern die Konsistenz Ihrer Anwendungen und liefern letztlich bessere Software schneller. Viel Spaß mit Docker!