Heim > Betrieb und Instandhaltung > Docker > So passt Docker Bilder an

So passt Docker Bilder an

WJ
Freigeben: 2020-06-08 17:06:14
Original
3558 Leute haben es durchsucht

So passt Docker Bilder an

Wie passt Docker das Bild an?

1. Um die Docker-Technologie nutzen zu können, müssen Sie zuerst das Docker-Paket installieren

Dieses Mal habe ich docker-engine-1.12.1-1 verwendet .centos.x86_64.rpm; Docker-Technologie basiert auf dem zugrunde liegenden System der lokalen Maschine. Auf dem System werden Anwendungen gepackt und bereitgestellt. Dadurch können Container genauso schnell gestartet werden wie ein Prozess.
Basierend auf der Docker-Technologie können die erforderlichen Mindestsystemumgebungen als Spiegel gekapselt und wie ein Prozess gestartet werden.

2. Erstellen Sie ein benutzerdefiniertes Docker-Image
Laden Sie zunächst ein Docker-Image von der offiziellen Docker-Website herunter

docker search docker
docker pull docker
Nach dem Login kopieren


Die Bilder auf der offiziellen Website sind alle Es handelt sich um eine minimale Installation, daher müssen Sie zuerst eine Yum-Quelle konfigurieren, die übliche Software im Centos-Image installieren und httpd und sshd starten. Die spezifischen Vorgänge sind wie folgt:

yum -y install docker-engine-1.12.1-1.el7.centos.x86_64.rpm
mkdir testcd testtouch Dockerfile
vim Dockerfile
FROM centos:latest
RUN rm -f /etc/yum.repos.d/*
ADD centos7.repo /etc/yum.repos.d/centos7.repo
RUN yum -y install httpd openssh-server net-tools bash-completion.noarch \ iproute vim-enhanced
EXPOSE 80 22
RUN  echo "123456" |passwd --stdin root
RUN  /usr/sbin/sshd-keygen
ENV EnvironmentFile=/etc/sysconfig/sshd
WORKDIR /var/www/html
RUN echo "<h1><font color=red>this is centos1:httpd">index.html
ENV EnvironmentFile=/etc/sysconfig/httpd
ADD qd.sh /root/qd.sh    
CMD ["/root/qd.sh"]
:wq
Nach dem Login kopieren


Hinweis:
EXPOSE gibt an, welche Ports des offenen Containers
ADD überträgt die Dateien im aktuellen Verzeichnis in das angegebene Verzeichnis im Container;
RUN bezieht sich darauf zum Ausführen im Container Which commands;
FROM gibt das Quellbild an, d. h. auf welchem ​​Bild dieses Bild basiert.
WORKDIR ist das Arbeitsverzeichnis im angegebenen Container, was dem Befehl cd im Centos-System entspricht.
ENV definiert die Umgebungsvariable.
CMD gibt den ersten Befehl an, der nach dem Start des Containers ausgeführt werden soll . Sie müssen [] durch Anführungszeichen getrennt verwenden, zum Beispiel: ["/usr/sbin/sshd", "-D"]
Die erstellte Datei muss Dockerfile heißen 🎜>Wenn Sie diese Befehle manuell schreiben möchten, vergleichen Sie sie. Es ist kompliziert. Sie können das Basisbild eingeben, um verschiedene Befehle auszuführen, dann den Verlauf verwenden, um die Befehle anzuzeigen, den Befehl cp verwenden und ihn durch das entsprechende Format oben ersetzen.

3. Schreiben Sie das Startskript Da der CMD des Docker-Images der erste Standardbefehl ist, der nach dem Starten des Containers ausgeführt wird, können Sie nur Schreiben Sie den Befehl CMD A ein. In diesem Fall möchten wir die beiden Programme sshd und httpd starten. Daher müssen wir ein Skript schreiben und CMD das Skript direkt ausführen lassen.

vim qd.sh#!/bin/bash/usr/sbin/sshd -D &
/usr/sbin/httpd -DFOREGROUND
:wq
Nach dem Login kopieren

chmod +x qd.sh //Ausführungsberechtigungen hinzufügen


4. Um einen Spiegel zu erstellen, muss im aktuellen Verzeichnis ausgeführt werden

docker build -t wang:sh2 .
Nach dem Login kopieren

5. Starten Sie das Image und ordnen Sie den Port des Containers zu

docker run -d -p 80:80 -p 2022:22 wang:sh2
Nach dem Login kopieren

Ordnen Sie Port 80 des Containers Port 80 der physischen Maschine zu und ordnen Sie Port 22 zu des Containers an den Port 2022 der physischen Maschine.


6. Zugriffsüberprüfung

firefox http://192.168.1.194(物理机)
ssh -p 2022 192.168.1.194
Nach dem Login kopieren

7. ErweiterungSie können auch zuerst einen Spiegel des SSHD-Dienstes erstellen und dann erstellen ein httpd-Container basierend auf dem SSHD-Image:

im Dockerfile
FROM wang:sshd
RUN yum -y  httpd
EXPOSE 80 22ENV EnvironmentFile=/etc/sysconfig/httpd
WORKDIR /var/www/html
RUN echo "<h1><font color=red>this is httpd and sshd">index.html
ADD qd.sh /root/qd.sh    
CMD ["/root/qd.sh"] 
:wq
Nach dem Login kopieren
Verwandte Referenzen:

Docker-Tutorial

Das obige ist der detaillierte Inhalt vonSo passt Docker Bilder an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage