suchen
HeimBetrieb und InstandhaltungDockerEs gibt mehrere Möglichkeiten, ein Docker-Image zu erstellen

Es gibt zwei Möglichkeiten, ein Docker-Image zu erstellen: 1. Verwenden Sie den Befehl „Docker Commit“, um das Image basierend auf dem vorhandenen Container manuell zu erstellen. 2. Verwenden Sie Dockerfile, um das Image automatisch zu erstellen indem Sie die Anweisungen in der Dockerfile-Builddatei lesen.

Es gibt mehrere Möglichkeiten, ein Docker-Image zu erstellen

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Manchmal kann das aus dem Docker-Image-Warehouse heruntergeladene Image die Anforderungen nicht erfüllen.

Einführung in die Image-Konstruktion

Unter welchen Umständen müssen wir das Image selbst erstellen?

(1) Wenn wir kein vorhandenes Image finden können, beispielsweise eine von uns selbst entwickelte Anwendung

(2) Wir müssen dem Image bestimmte Funktionen hinzufügen

Es gibt zwei Möglichkeiten für Docker, ein Image zu erstellen: docker commit-Befehl und Dockerfile Build-Dateidocker commit命令与Dockerfile构建文件

docker commit构建镜像

基于已有容器构建镜像主要是通过docker commit

Docker-Commit zum Erstellen eines Images

Beim Erstellen eines Images basierend auf einem vorhandenen Container wird hauptsächlich der Docker-Commit verwendet Befehl zum Erstellen eines neuen Images.
  • Es gibt drei Hauptschritte zum Erstellen von Dockercommit:
  • Führen Sie den Container aus.
  • Ändern Sie den Container.

Speichern Sie den Container als neues Image.

Installieren Sie beispielsweise den VIM-Editor im Centos-Image und speichern Sie ihn als Neues Image

(1) Container ausführen

[root@ken1 docker]# docker run -it centos
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a02a4930cb5d: Pull complete 
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:latest
(2) Den VIM-Editor installieren

Der VIM-Editor bestätigt, dass er nicht installiert ist

[root@69f501e858a6 /]# vim
bash: vim: command not found
Installiere ihn

[root@69f501e858a6 /]# yum install vim -y
(3) Als neues Image speichern

Zuerst Überprüfen Sie das aktuell laufende Image

[root@ken1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
69f501e858a6        centos              "/bin/bash"         2 minutes ago       Up 2 minutes                            quizzical_torvalds

Verwenden Sie Commit, um es zu speichern. Das neue Image
[root@ken1 ~]# docker commit 69f501e858a6 centos-vim
sha256:42083b89a179368bc29a8f40d14f8824990183c8e4b28fd84411d440c26342e5

69f501e858a6 ist die ID des laufenden Containers. Sie können auch den Namen unten verwenden.

centos-vim ist der Name des neuen Images.

Überprüfen Sie, ob ein Centos-VIM-Image vorhanden ist.

Starten Sie das neue Image neu. Überprüfen Sie, ob Sie den Vim-Editor verwenden können.

[root@ken1 ~]# docker run -it centos-vim 
[root@61d090898bad /]# vim
[root@61d090898bad /]# vim test
. Das Obige zeigt, wie Um Commit zum Erstellen eines neuen Bildes zu verwenden, empfiehlt Docker aus folgenden Gründen nicht, diese Methode zum Erstellen eines Bildes zu verwenden:
  • Dies ist eine manuelle Methode zum Erstellen von Bildern, der Container ist fehleranfällig und ineffizient schwach in der Wiederholbarkeit
  • Noch wichtiger. Der Benutzer weiß nicht, wie das Bild erstellt wird. Befindet sich darin ein Schadprogramm?

Dockerfile zum Erstellen des Images.

Dockerfile ist eine Datei, die aus einer Reihe von Anweisungen besteht. Das Docker-Programm generiert schließlich ein Image, indem es die Anweisungen liest Docker-Datei.

Das erste Dockerfike

Schritt 1: Neues Verzeichnis erstellen

[root@ken1 ~]# mkdir /test

Schritt 2: Dockerfile schreiben

Der Name heißt Dockerfile und das erste D muss groß geschrieben werden

[root@ken1 ~]# cat Dockerfile
FROM centos
RUN yum install vim -y

FROM Centos bedeutet die Verwendung von Centos als Basisbild

RUN bedeutet, den VIM-Editor auf Centos zu installieren

Schritt 3: Erstellen Sie das Image

[root@ken1 ~]# docker build -t centos-vim2 .

Geben Sie den Tag-Namen (Tag) des neuen Images nach -t an

Der letzte Punkt zeigt an, dass der Docker-Kontext das aktuelle Verzeichnis ist . Docker sucht standardmäßig im Build-Kontext nach der Docker-Datei. Schritt 4: Zeigen Sie den Build-Verlauf des Bildes an das Bild, das den Ausführungsprozess der Docker-Datei darstellt.

Dcokerfile allgemeine Anweisungen

 1.FROMGeben Sie das Basisbild an

 2. MAINTAINER

Legen Sie den Autor des Bildes fest. Es kann ein beliebiges Zeichen sein kopiert werden Die Dateien oder Verzeichnisse im dynamischen Build-Kontext können sich nur im selben Verzeichnis wie die Docker-Datei befinden  4.ADD

ähnelt COPY und kopiert Dateien aus dem Build-Kontext in das Image.

Der Unterschied besteht darin, dass, wenn src eine Archivdatei (tar, zip, tgz, xz) ist, die Datei automatisch an dest übertragen wird.

 5.ENV

Setzen Sie Umgebungsvariablen, die von nachfolgenden Anweisungen verwendet werden können, z als:

ENV name ken RUN echo $name

 6.EXPOSE

Der Prozess im angegebenen Container hört auf einen bestimmten Port, und Docker kann den Port freigeben

 7.VOLUME

Deklarieren Sie eine Datei oder ein Verzeichnis als ein Volume

  10.CMD

容器启动时运行指定的命令

dockerfile中可以多个CMD指令,但是只要最后一个生效。CMD可以被docker run之后的参数替换

  11.ENTRYPOINT

设置容器启东市的命令

dockerfile中可以有多个ENTRYPOINT,但是只有最后一个生效。

CMD或者docker run之后的参数会被当做参数传递给ENTERYPOINT.

Dockerfile演示

下面演示一个比较全面的dockerfile

[root@ken1 test]# cat Dockerfile 
#my Dockerfile
FROM busybox
MAINTAINER ken
WORKDIR /ken
RUN touch test
COPY ["ken1","."]
ADD ["wordpress.tar.gz","."]
ENV name "ken"

注意:Dockerfile支持以#开头的注释

构建镜像

[root@ken1 test]# docker build -t myimage .
Sending build context to Docker daemon  4.281MB
Step 1/7 : FROM busybox
 ---> 3a093384ac30
Step 2/7 : MAINTAINER ken
 ---> Running in 2a73a83507ce
Removing intermediate container 2a73a83507ce
 ---> 8c3df9b3d823
Step 3/7 : WORKDIR /ken
 ---> Running in 31c6f9fe2195
Removing intermediate container 31c6f9fe2195
 ---> a458cf986072
Step 4/7 : RUN touch test
 ---> Running in e1b08ebd363c
Removing intermediate container e1b08ebd363c
 ---> 41601920009a
Step 5/7 : COPY ["ken1","."]
 ---> 2ebfa0933fca
Step 6/7 : ADD ["wordpress.tar.gz","."]
 ---> d0ad29d3aa34
Step 7/7 : ENV name "ken"
 ---> Running in fceae6e20e63
Removing intermediate container fceae6e20e63
 ---> 7efe0600e48f
Successfully built 7efe0600e48f
Successfully tagged myimage:latest

查看镜像

运行该镜像

[root@ken1 test]# docker run -it myimage
/ken # ls
ken1       test       wordpress
/ken # echo $name
ken
  •  可以发现当前工作目录为/ken,且自动创建
  • ken1是我们从docker context目录中复制过去的
  • test是使用touch创建的
  • wordpres压缩包已经被自动解压
  • $name为变量值为ken

推荐学习:《docker视频教程

Das obige ist der detaillierte Inhalt vonEs gibt mehrere Möglichkeiten, ein Docker-Image zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Docker unter Linux: Anwendungen und AnwendungsfälleDocker unter Linux: Anwendungen und AnwendungsfälleApr 17, 2025 am 12:10 AM

Docker vereinfacht die Anwendungsbereitstellung und -verwaltung unter Linux. 1) Docker ist eine Containerplattform, die Anwendungen und ihre Abhängigkeiten in leichte und tragbare Container verpackt. 2) Unter Linux verwendet Docker CGroups und Namespaces, um die Isolation von Containern und die Ressourcenverwaltung zu implementieren. 3) Zu den grundlegenden Verwendungen gehören das Ziehen von Bildern und laufende Behälter. Fortgeschrittene Verwendungen wie DockerComponpose können Multi-Container-Anwendungen definieren. 4) DEBUG DEBUG DECKERLOGS und DOCKEREXEC -Befehle. 5) Die Leistungsoptimierung kann die Bildgröße durch mehrstufige Konstruktion verringern, und es ist die beste Verfahren, die Dockerfile einfach zu halten.

Docker: Containerisierungsanwendungen für Portabilität und SkalierbarkeitDocker: Containerisierungsanwendungen für Portabilität und SkalierbarkeitApr 16, 2025 am 12:09 AM

Docker ist ein technologiebasiertes Linux-Container-Tool, das zum Verpacken, Verteilen und Ausführen von Anwendungen verwendet wird, um die Anwendungsportabilität und Skalierbarkeit zu verbessern. 1) Befehle mit Dockerbuild und Dockerrun können zum Erstellen und Ausführen von Docker -Containern verwendet werden. 2) DockerComponpose wird verwendet, um Multi-Container-Docker-Anwendungen zu definieren und auszuführen, um die Microservice-Management zu vereinfachen. 3) Durch die Verwendung mehrstufiger Konstruktion können Sie die Bildgröße optimieren und die Antrags-Startgeschwindigkeit verbessern. 4) Die Anzeigen von Containerprotokollen ist eine effektive Möglichkeit, Containerprobleme zu debugieren.

So starten Sie einen Container von DockerSo starten Sie einen Container von DockerApr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So sehen Sie Protokolle von DockerSo sehen Sie Protokolle von DockerApr 15, 2025 pm 12:24 PM

Zu den Methoden zum Anzeigen von Docker -Protokollen gehören: Verwenden des Befehls docker Protokolle, z. cat /var/log/container_name.log Verwenden Sie den Befehl docker-compose-Protokolle von Docker Compose, zum Beispiel: Docker-compose -f Docker-com

So überprüfen Sie den Namen des Docker -ContainersSo überprüfen Sie den Namen des Docker -ContainersApr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So erstellen Sie Container für DockerSo erstellen Sie Container für DockerApr 15, 2025 pm 12:18 PM

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

So verlassen Sie den Container mit DockerSo verlassen Sie den Container mit DockerApr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

So kopieren Sie Dateien in Docker nach außenSo kopieren Sie Dateien in Docker nach außenApr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)