Implementierung des Imports und Exports von Docker-Images

Implementierung des Imports und Exports von Docker-Images

Docker-Nutzung von Gitlab

Gitlab Docker

Startbefehl

docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3

docker run -d -p 8080:80 gitlab/gitlab-ce:latest

Containeränderungen am Image festschreiben

# Geben Sie den Container ein [root@#localhost docker]# docker run -ti ubuntu:14.04 /bin/bash
root@812a997f614a:/#id 
uid=0(Wurzel) gid=0(Wurzel) Gruppen=0(Wurzel)

# Einige Änderungen vorgenommen root@812a997f614a:/# echo update>update.txt
root@812a997f614a:/# beenden
Ausfahrt

[root@#localhost docker]# docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
812a997f614a ubuntu:14.04 "/bin/bash" vor 7 Minuten Beendet (0) vor 22 Sekunden zealous_euler
69304dea46c7 gitlab/gitlab-ce:latest "/assets/wrapper" Vor etwa einer Stunde Beendet (127) Vor 44 Minuten competent_minsky
67ba866e21b0 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (137) Vor etwa einer Stunde hungry_hoover
2a3d08a0a2ff twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 2 Stunden Beendet (137) Vor etwa einer Stunde nervous_wozniak
6db49540be99 twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 2 Stunden Beendet (255) vor 2 Stunden 22/tcp, 443/tcp, 0.0.0.0:3000->80/tcp romantic_elion
b08a6d6ed716 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (255) vor 2 Stunden 22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp competent_brahmagupta
33fd0b1ebd27 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (127) vor 2 Stunden loving_brattain
6f53620a930c twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 3 Stunden Beendet (127) vor 2 Stunden brave_galileo
88df78f77c4e ubuntu:14.04 "sleep 360" vor 4 Tagen Beendet (137) vor 4 Tagen Testkopie
81a879a36bd3 wordpress "docker-entrypoint..." vor 4 Tagen Beendet (0) vor 4 Tagen wordpress
a57a3cc492b7 mysql "docker-entrypoint..." vor 4 Tagen Beendet (0) vor 4 Tagen mysqlwp

# Speichern Sie das geänderte Image als neues [root@#localhost docker]# docker commit 812a997f614a ubuntu:update
sha256:317f102584605694da424bc96764559a1ccfda13943353f4cbdfd89c96515e6b

[root@#localhost docker]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
Ubuntu-Update 317f10258460 vor 5 Sekunden 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab vor 44 Stunden 1,19 GB
gitlab/gitlab-ce latest 5eff2e44957c vor 2 Tagen 1,11 GB
mysql latest 9546ca122d3a vor 8 Tagen 407 MB
wordpress latest 4ad41adc2794 vor 2 Wochen 401 MB
Ubuntu 14.04 7c09e61e9035 vor 5 Wochen 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f vor 2 Jahren 499 MB

# Zeigen Sie die Unterschiede zwischen dem geänderten Image und dem Originalimage an [root@#localhost docker]# docker diff 812a997f614a
C /var
C /var/cache
C /var/cache/apt
D /var/cache/apt/srcpkgcache.bin
D /var/cache/apt/pkgcache.bin
C /var/lib
C /var/lib/apt
C /var/lib/apt/lists
A /var/lib/apt/lists/lock
Eine /var/lib/apt/lists/partial
A /var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_trusty-updates_InRelease
Eine /update.txt
C /root
Eine /root/.bash_history
[root@#localhost Docker]#

Importieren und Exportieren von Bildern

Export und Import

[root@#localhost docker]# docker run -ti ubuntu:update /bin/bash
root@cbe3cb7799ed:/# ls
bin boot dev usw home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp update.txt usr var

[root@#localhost Docker]# 
[root@#localhost docker]# docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
cbe3cb7799ed ubuntu:update "/bin/bash" vor 47 Sekunden Beendet (1) vor 6 Sekunden adoring_kare
812a997f614a ubuntu:14.04 "/bin/bash" vor 16 Minuten Beendet (0) vor 8 Minuten zealous_euler
69304dea46c7 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (127) vor 53 Minuten competent_minsky
67ba866e21b0 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (137) vor 2 Stunden hungry_hoover
2a3d08a0a2ff twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 2 Stunden Beendet (137) vor 2 Stunden nervous_wozniak
6db49540be99 twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 2 Stunden Beendet (255) vor 2 Stunden 22/tcp, 443/tcp, 0.0.0.0:3000->80/tcp romantic_elion
b08a6d6ed716 gitlab/gitlab-ce:latest "/assets/wrapper" vor 2 Stunden Beendet (255) vor 2 Stunden 22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp competent_brahmagupta
33fd0b1ebd27 gitlab/gitlab-ce:latest "/assets/wrapper" vor 3 Stunden Beendet (127) vor 2 Stunden loving_brattain
6f53620a930c twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" vor 3 Stunden Beendet (127) vor 2 Stunden brave_galileo
88df78f77c4e ubuntu:14.04 "sleep 360" vor 4 Tagen Beendet (137) vor 4 Tagen Testkopie
81a879a36bd3 wordpress "docker-entrypoint..." vor 4 Tagen Beendet (0) vor 4 Tagen wordpress
a57a3cc492b7 mysql "docker-entrypoint..." vor 4 Tagen Beendet (0) vor 4 Tagen mysqlwp

# Exportieren Sie das Image in eine Datei [root@#localhost docker]# docker export cbe3cb7799ed > update.tar


# Erstellen Sie ein neues statisches Image basierend auf der exportierten Datei [root@#localhost /]# docker import - update < update.tar 
sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
[root@#localhost /]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
Update letztes fd00d520a43e vor 13 Sekunden 165 MB
Ubuntu-Update 317f10258460 vor 11 Minuten 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab vor 44 Stunden 1,19 GB
gitlab/gitlab-ce latest 5eff2e44957c vor 2 Tagen 1,11 GB
mysql latest 9546ca122d3a vor 8 Tagen 407 MB
wordpress latest 4ad41adc2794 vor 2 Wochen 401 MB
Ubuntu 14.04 7c09e61e9035 vor 5 Wochen 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f vor 2 Jahren 499 MB
[root@#localhost /]#

Speichern und Laden

(wie beim Sichern und Wiederherstellen mit Spiegelung)

# update ist ein vorhandenes Image [root@#localhost /]# docker save -o update1.tar update
[root@#localhost /]# ls
bin boot dev usw home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp update1.tar update.tar usr var
[root@#localhost /]# du -sh update1.tar 
166M update1.tar

# Löschen Sie das Update-Image [root@#localhost /]# docker rmi update
Ohne Tag: update:latest
Gelöscht: sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
Gelöscht: sha256:14cc8cd7b783152682835346e5fe90860a9feeb684866688692285319d4e97ad

[root@#localhost /]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
Ubuntu-Update 317f10258460 vor 16 Minuten 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab vor 44 Stunden 1,19 GB
gitlab/gitlab-ce latest 5eff2e44957c vor 2 Tagen 1,11 GB
mysql latest 9546ca122d3a vor 8 Tagen 407 MB
wordpress latest 4ad41adc2794 vor 2 Wochen 401 MB
Ubuntu 14.04 7c09e61e9035 vor 5 Wochen 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f vor 2 Jahren 499 MB

#Importieren Sie das Image [root@#localhost /]# docker load < update1.tar 
14cc8cd7b783: Ebene wird geladen [========================================================>] 173,8 MB/173,8 MB
Geladenes Bild: update:latest
[root@#localhost /]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
Update letztes fd00d520a43e vor 6 Minuten 165 MB
Ubuntu-Update 317f10258460 vor 17 Minuten 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab vor 44 Stunden 1,19 GB
gitlab/gitlab-ce latest 5eff2e44957c vor 2 Tagen 1,11 GB
mysql latest 9546ca122d3a vor 8 Tagen 407 MB
wordpress latest 4ad41adc2794 vor 2 Wochen 401 MB
Ubuntu 14.04 7c09e61e9035 vor 5 Wochen 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f vor 2 Jahren 499 MB
[root@#localhost /]# 

Docker-Datei

[root@#localhost ~]# mkdir docker_file
[root@#localhost ~]# cd docker_file/

[root@#localhost docker_file]# vi Docker-Datei 

[root@#localhost docker_file]# cat Dockerfile 
VON Ubuntu:14.04

EINSTIEGSPUNKT ["/bin/echo"]

[root@#localhost docker_file]# Docker-Build.
Senden des Build-Kontexts an den Docker-Daemon 2.048 kB
Schritt 1/2: VON ubuntu:14.04
 ---> 7c09e61e9035
Schritt 2/2: ENTRYPOINT /bin/echo
 ---> Wird ausgeführt in d53f31b93355
 ---> 26dd06d2e5a5
Zwischenbehälter entfernen d53f31b93355
Erfolgreich erstellt 26dd06d2e5a5

#Führen Sie das Image aus [root@#localhost docker_file]# docker run 26dd06d2e5a5

#Fügen Sie einen Parameter hinzu [root@#localhost docker_file]# docker run 26dd06d2e5a5 Hallo Welt
Hallo Welt
[root@#localhost docker_file]# vi Docker-Datei 
[root@#localhost docker_file]# docker run 26dd06d2e5a5 Hallo Welt
Hallo Welt


#
[root@#localhost docker_file]# cat Dockerfile 
VON Ubuntu:14.04

#ENTRYPOINT ["/bin/echo","Hallo Welt!"]
CMD ["/bin/echo","Hallo Welt!"]

[root@#localhost docker_file]# Docker-Build.
[root@#localhost docker_file]# docker run 12458a717ced
Hallo Welt!


[root@#localhost docker_file]# docker run 12458a717ced /bin/date 
Sa, 8. April 2017, 12:08:14 UTC


Beim Erstellen ein Tag hinzufügen

[root@#localhost docker_file]# docker build -t yang:01 .
Senden des Build-Kontexts an den Docker-Daemon 3.584 kB
Schritt 1/2: VON ubuntu:14.04
 ---> 7c09e61e9035
Schritt 2/2: CMD /bin/echo Hallo Welt!
 ---> Wird ausgeführt in 94e510f085d7
 ---> 6b33c8a6a32f
Zwischenbehälter entfernen 94e510f085d7
Erfolgreich erstellt 6b33c8a6a32f
[root@#localhost docker_file]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
yang 01 6b33c8a6a32f vor 5 Sekunden 188 MB
Update letztes fd00d520a43e vor 29 Minuten 165 MB
Ubuntu-Update 317f10258460 vor 41 Minuten 188 MB
twang2218/gitlab-ce-zh 9.0.3 36172b5fefab vor 44 Stunden 1,19 GB
gitlab/gitlab-ce latest 5eff2e44957c vor 2 Tagen 1,11 GB
mysql latest 9546ca122d3a vor 8 Tagen 407 MB
wordpress latest 4ad41adc2794 vor 2 Wochen 401 MB
Ubuntu 14.04 7c09e61e9035 vor 5 Wochen 188 MB
daocloud.io/library/nginx 1.7.1 e3e043d3ed2f vor 2 Jahren 499 MB
[root@#localhost Docker-Datei]# 

Erstellen Sie ein Beispiel

Packen Sie die Flask-Anwendung in das Image

Schreiben Sie das Python-Programm hellp.py

#!/usr/bin/env python

aus Flasche importieren Flasche
App = Flask(__name__)

@app.route('/hallo')
def hallo_welt():
  gib „Hallo Welt!“ zurück

wenn __name__ == '__main__':
  app.run(Host='0.0.0.0', Port=5000)

Schreiben einer Docker-Datei

VON Ubuntu:14.04

Führen Sie apt-get update aus.
Führen Sie apt-get install -y python aus.
Führen Sie den Befehl apt-get install -y python-pip aus.
Führen Sie apt-get clean all aus.

Führen Sie den Befehl „pip install flask“ aus.

ADD hello.py /tmp/hello.py

EXPOSE 5000

CMD ["python","/tmp/hallo.py"]

Dies ist das Ende dieses Artikels über die Implementierung des Importierens und Exportierens von Docker-Images. Weitere relevante Inhalte zum Importieren und Exportieren von Docker-Images finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Praxis der Import- und Exportvorgänge für Docker-Images und Container
  • Codebeispiele für den Import und Export von Docker-Images
  • Import-, Export-, Sicherungs- und Migrationsvorgänge für Docker-Images
  • Beispielanalyse zum Exportieren, Importieren und Kopieren von Docker-Images
  • So importieren und exportieren Sie Docker-Images
  • So exportieren und importieren Sie Bilder zwischen Docker
  • Einführung in den Import- und Exportprozess von Docker-Images

<<:  HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (5)

>>:  Detaillierte Erläuterung des Implementierungsprinzips der Transaktionsisolationsstufe in MySQL

Artikel empfehlen

Beispiel für die Installation von Kong Gateway in Docker

1. Erstellen Sie ein Docker-Netzwerk Docker-Netzw...

Detaillierte Erläuterung der gespeicherten Prozeduren und Funktionen von MySQL

1 Gespeicherte Prozedur 1.1 Was ist eine gespeich...

Zusammenfassung wichtiger Komponenten von MySQL InnoDB

Innodb umfasst die folgenden Komponenten 1. innod...

JavaScript-Entwurfsmuster, Lernadaptermuster

Inhaltsverzeichnis Überblick Code-Implementierung...

MySQL-Einschränkungstypen und Beispiele

Zwang Einschränkungen gewährleisten Datenintegrit...

Beschreiben Sie kurz die MySQL InnoDB-Speicher-Engine

Vorwort: Die Speicher-Engine ist der Kern der Dat...

So lösen Sie das Problem „Nginx 503-Dienst vorübergehend nicht verfügbar“

In letzter Zeit tritt nach dem Aktualisieren der ...

Zusammenfassung einiger praktischer kleiner Zaubertricks in der Vue-Praxis

Wie können Sie das Lamaging von Routen vergessen,...

Detaillierte Erklärung der MySql-Installation und des Logins

Überprüfen Sie, ob MySQL bereits unter Linux inst...

Detailliertes Tutorial zum Löschen von Linux-Benutzern mit dem Befehl userdel

Was ist Serdel userdel ist ein Low-Level-Tool zum...

MySQL-Schritte vollständig löschen

Inhaltsverzeichnis 1. Stoppen Sie zuerst den MySQ...