Heim System-Tutorial LINUX Beginnen Sie in fünf Minuten mit Docker

Beginnen Sie in fünf Minuten mit Docker

Jan 02, 2024 pm 02:29 PM
linux linux教程 红帽 linux系统 linux命令 Linux-Zertifizierung Red Hat Linux Linux-Video

Was ist Docker?

Docker ist eine Open-Source-Container-Engine, und ein Container ist eigentlich eine virtualisierte, unabhängige Umgebung. Daher können Entwickler Anwendungen in einen solchen Docker-Container packen und sie dann auf jedem Computer veröffentlichen, der den Docker-Container ausführen kann, um mehrere Pakete zu erstellen und bereitzustellen Orte auf einmal, um Bereitstellungsprobleme zu lösen, die durch Umweltprobleme verursacht werden.

Ein dem Container entsprechendes Konzept ist das Image. Das Image kann als Image unseres täglichen Installationssystems betrachtet werden, bei dem es sich um eine laufende Umgebung handelt. Natürlich vergleiche ich in unserer objektorientierten Programmierung lieber ein Bild mit einer Klasse, und ein Container ist eine Instanz einer Klasse, sodass viele Container basierend auf einem Bild erstellt werden können. Jeder Container ist spezifisch. Wir können Änderungen am Container vornehmen und den Container dann in ein neues Image packen, sodass in Zukunft neue Container basierend auf dem geänderten Image erstellt werden können. Der Container selbst kann einfach als virtuelle, unabhängige Betriebsumgebung verstanden werden. Wir müssen unsere Anwendung in diese Umgebung packen, um sie wieder einfach bereitstellen zu können.
Beginnen Sie in fünf Minuten mit Docker

Docker installieren

Gentoo

# emerge --ask docker
Nach dem Login kopieren

CentOS

# yum install docker-ce
Nach dem Login kopieren

Ubuntu

# apt-get install docker-ce
Nach dem Login kopieren

Bogen

# pacman -S docker
Nach dem Login kopieren
Starten Sie den Docker-Daemon
# systemctl start docker
Nach dem Login kopieren
Docker-Befehlseinführung
# docker --help
管理命令:
  container   管理容器
  image       管理镜像
  network     管理网络
命令:
  attach      介入到一个正在运行的容器
  build       根据 Dockerfile 构建一个镜像
  commit      根据容器的更改创建一个新的镜像
  cp          在本地文件系统与容器中复制 文件/文件夹
  create      创建一个新容器
  exec        在容器中执行一条命令
  images      列出镜像
  kill        杀死一个或多个正在运行的容器    
  logs        取得容器的日志
  pause       暂停一个或多个容器的所有进程
  ps          列出所有容器
  pull        拉取一个镜像或仓库到 registry
  push        推送一个镜像或仓库到 registry
  rename      重命名一个容器
  restart     重新启动一个或多个容器
  rm          删除一个或多个容器
  rmi         删除一个或多个镜像
  run         在一个新的容器中执行一条命令
  search      在 Docker Hub 中搜索镜像
  start       启动一个或多个已经停止运行的容器
  stats       显示一个容器的实时资源占用
  stop        停止一个或多个正在运行的容器
  tag         为镜像创建一个新的标签
  top         显示一个容器内的所有进程
  unpause     恢复一个或多个容器内所有被暂停的进程
Nach dem Login kopieren

Es gibt umfangreichere Optionen in Unterbefehlen, die mit docker COMMAND --help angezeigt werden können. Zum Beispiel:

#docker run --help

Docker-Nutzung in der Praxis

Als nächstes werde ich Docker verwenden, um als Beispiel einen Nginx-Server bereitzustellen. Um einen Container zu erstellen, benötigen wir zunächst ein Image, das zum Erstellen des Containers verwendet wird. Finden Sie Nginx-bezogene Bilder im Docker Hub.

# docker search nginx
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                                                  Official build of Nginx.                        6959      [OK]
jwilder/nginx-proxy                                    Automated Nginx reverse proxy for docker c...   1134                 [OK]
richarvey/nginx-php-fpm                                Container running Nginx + PHP-FPM capable ...   452                  [OK]
...
...
Nach dem Login kopieren

Ziehen Sie sich das offizielle Bild oben an, das von Benutzern nach ihren eigenen Bedürfnissen erstellt wurde, um es allen zu erleichtern.

# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
afeb2bfd31c0: Pull complete
7ff5d10493db: Downloading [===============>                                   ] 6.651 MB/21.87 MB
d2562f1ae1d0: Download complete
Nach dem Login kopieren

Docker-Bilder werden übrigens in Ebenen gespeichert, sodass das obige Nginx-Bild drei Ebenen hat. Außerdem wird dem Bild jedes Mal eine Ebene hinzugefügt, wenn ein neues Bild basierend auf einem neuen Container erstellt wird.
Als nächstes verwenden Sie dieses Bild, um direkt einen neuen Container zu starten:

# docker run --name my-nginx -d -p 8080:80 nginx
Nach dem Login kopieren

Geben Sie zu diesem Zeitpunkt Folgendes in den Browser ein: http://localhost:8080/, um auf nginx zuzugreifen. Parametererklärung:

  • --name Geben Sie dem Container einen Namen
  • Die Syntax des Parameters
  • -p lautet -p Host-Port:Container-Port; -p 8080:80 bindet Port 8080 auf dem Host an Port 80 auf dem Container, sodass beim Zugriff auf Port 8080 auf dem Host tatsächlich auf Port 80 des Nginx-Containers zugegriffen wird
  • -d führt den Container im Hintergrund aus

Dann schauen wir uns ein komplexeres Beispiel an:

# docker run --name my-nginx \ 
    -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro \
    -v /some/html:/usr/share/nginx/html:ro \
    -p 8080:80 \
    -d nginx
Nach dem Login kopieren

Dieses Beispiel hat einen zusätzlichen Parameter -v. Die Funktion dieses Parameters besteht darin, lokale Dateien oder Ordner in den Container einzuhängen. Das letzte ro oder rw steuert, ob der Mount beschreibbar ist.

    Die Syntax des Parameters
  • -v lautet -v Host-Verzeichnis:Container-Verzeichnis[:ro|rw]

Der obige Befehl stellt die Konfigurationsdatei nginx.conf in der lokalen Datei im Container bereit und stellt außerdem die anzuzeigende statische Seite im Container bereit. Hinweis: Nachdem der Container einen Befehl ausgeführt hat und der Befehl endet, wird auch der Container beendet.

Als nächstes schauen wir uns andere Docker-Befehle an.

Alle laufenden Container anzeigen:

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1fe91b5a4cd4        nginx               "nginx -g 'daemon ..."   39 minutes ago      Up 39 minutes       0.0.0.0:8080->80/tcp   my-nginx
# docker ps -a ### 列出包括未运行的容器
Nach dem Login kopieren

Container-Laufprotokolle anzeigen:

# docker logs my-nginx
172.17.0.1 - - [05/Oct/2017:07:31:11 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" "-"
2017/10/05 07:31:11 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080"
Nach dem Login kopieren

Container neu starten:

# docker restart my-nginx
my-nginx
Nach dem Login kopieren

Beenden Sie die Ausführung eines Containers:

# docker stop my-nginx
my-nginx
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Nach dem Login kopieren

Starten Sie einen vorhandenen Container:

# docker start my-nginx
my-nginx
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1fe91b5a4cd4        nginx               "nginx -g 'daemon ..."   50 minutes ago      Up 3 seconds        0.0.0.0:8080->80/tcp   my-nginx
Nach dem Login kopieren

Töte einen laufenden Container direkt:

# docker kill my-nginx
Nach dem Login kopieren

Container umbenennen:

# docker rename my-nginx new-nginx
Nach dem Login kopieren

Container löschen:

# docker rm new-nginx
Nach dem Login kopieren

Alle Bilder dieser Maschine anzeigen:

# docker imags
Nach dem Login kopieren

Erstellen Sie ein Bild mit einem vorhandenen Container:

# docker commit -m "nothing changed" my-nginx my-nginx-image
sha256:f02483cdb842a0dc1730fe2c653603fa3271e71c31dbb442caccd7ad64860350
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my-nginx-image      latest              f02483cdb842        6 seconds ago       108 MB
nginx               latest              da5939581ac8        3 weeks ago         108 MB
Nach dem Login kopieren

Erstellen Sie einen Container mit dem Bild, das wir selbst erstellt haben:

# docker run --name test -d -p 8081:80 my-nginx-image
12ba86eabdef0121d875bdb547f1101d4eb54ff7cb36e20214fb1388659af83d
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
12ba86eabdef        my-nginx-image      "nginx -g 'daemon ..."   7 seconds ago       Up 5 seconds        0.0.0.0:8081->80/tcp   test
299f4ede9e79        nginx               "nginx -g 'daemon ..."   11 minutes ago      Up 11 minutes       0.0.0.0:8080->80/tcp   my-nginx
Nach dem Login kopieren

Wenn der Startbefehl des von uns verwendeten Containers eine Shell ist, können wir mit dem Befehl „attach“ in den Container eingreifen, genau wie wir ssh verwenden, um eine Verbindung zu einem Server herzustellen.

# docker attach some-container
Nach dem Login kopieren

Starten Sie direkt beim Erstellen eines Containers eine interaktive Shell und löschen Sie den Container nach dem Beenden automatisch:

# docker run -it --rm  centos
Nach dem Login kopieren
Zusammenfassung

Dieser Artikel stellt die einfache Verwendung von Docker vor und gibt außerdem ein praktisches Beispiel, um die verschiedenen Operationen des Docker-Befehls zu demonstrieren. Als Schnellstartartikel ist dieser Artikel relativ einfach. Viele konzeptionelle Dinge erfordern das Lesen anderer Informationen, aber nach dem Lesen dieses Artikels sollten Sie über grundlegende Kenntnisse im Umgang mit Docker verfügen. Darüber hinaus sollten nachfolgende Artikel über Dockerfile und Docker-Compose schreiben.

Das obige ist der detaillierte Inhalt vonBeginnen Sie in fünf Minuten mit Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So sehen Sie den Docker -Prozess So sehen Sie den Docker -Prozess Apr 15, 2025 am 11:48 AM

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

VSCODE kann die Erweiterung nicht installieren VSCODE kann die Erweiterung nicht installieren Apr 15, 2025 pm 07:18 PM

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Wofür ist VSCODE Wofür ist VSCODE? Wofür ist VSCODE Wofür ist VSCODE? Apr 15, 2025 pm 06:45 PM

VS Code ist der vollständige Name Visual Studio Code, der eine kostenlose und open-Source-plattformübergreifende Code-Editor und Entwicklungsumgebung von Microsoft ist. Es unterstützt eine breite Palette von Programmiersprachen und bietet Syntax -Hervorhebung, automatische Codebettel, Code -Snippets und intelligente Eingabeaufforderungen zur Verbesserung der Entwicklungseffizienz. Durch ein reiches Erweiterungs -Ökosystem können Benutzer bestimmte Bedürfnisse und Sprachen wie Debugger, Code -Formatierungs -Tools und Git -Integrationen erweitern. VS -Code enthält auch einen intuitiven Debugger, mit dem Fehler in Ihrem Code schnell gefunden und behoben werden können.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

So verwenden Sie VSCODE So verwenden Sie VSCODE Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) ist ein plattformübergreifender, Open-Source-Editor und kostenloser Code-Editor, der von Microsoft entwickelt wurde. Es ist bekannt für seine leichte, Skalierbarkeit und Unterstützung für eine Vielzahl von Programmiersprachen. Um VSCODE zu installieren, besuchen Sie bitte die offizielle Website, um das Installateur herunterzuladen und auszuführen. Bei der Verwendung von VSCODE können Sie neue Projekte erstellen, Code bearbeiten, Code bearbeiten, Projekte navigieren, VSCODE erweitern und Einstellungen verwalten. VSCODE ist für Windows, MacOS und Linux verfügbar, unterstützt mehrere Programmiersprachen und bietet verschiedene Erweiterungen über den Marktplatz. Zu den Vorteilen zählen leicht, Skalierbarkeit, umfangreiche Sprachunterstützung, umfangreiche Funktionen und Versionen

See all articles