Heim  >  Artikel  >  Java  >  Ausführliche Erläuterung der Docker-Studiennotizen zum Aufbau einer JAVA Tomcat-Betriebsumgebung

Ausführliche Erläuterung der Docker-Studiennotizen zum Aufbau einer JAVA Tomcat-Betriebsumgebung

高洛峰
高洛峰Original
2017-02-03 13:29:491321Durchsuche

Vorwort

Docker zielt darauf ab, eine automatisierte Bereitstellungslösung für Anwendungen bereitzustellen, die schnell einen Container (leichte virtuelle Maschine) auf einem Linux-System erstellt und Anwendungen über Konfigurationsdateien bereitstellt und ausführt Installation, Bereitstellung und Upgrade von Anwendungen. Durch die Verwendung von Containern können die Produktionsumgebung und die Entwicklungsumgebung problemlos getrennt werden, ohne sich gegenseitig zu beeinflussen. Dies ist die häufigste Methode von Docker. Weitere Spielmöglichkeiten umfassen groß angelegte Webanwendungen, Datenbankbereitstellung, kontinuierliche Bereitstellung, Cluster, Testumgebungen, serviceorientiertes Cloud Computing, virtuelle Desktop-VDI usw.

Subjektiver Eindruck: Docker ist in der Go-Sprache geschrieben, verwendet cgroup, um Ressourcenisolation zu erreichen, und die Containertechnologie verwendet LXC. Es bietet eine leichte Virtualisierungslösung, die Unix-Prozesse unabhängig ausführen kann. Es bietet eine Möglichkeit, die Bereitstellung von Software in einer sicheren, wiederholbaren Umgebung zu automatisieren. LXC-Befehle sind etwas kompliziert. Wenn Sie interessiert sind, finden Sie hier einen Artikel, den ich zuvor basierend auf LXC geschrieben habe (Erstellen einer einfachen Version der JAVA PAAS-Cloud-Plattform).

Die Implementierungsprinzipien, zugehörigen Theorien, Anwendungsszenarien usw. werden später in dieser Serie geschrieben. Hier ist ein kurzer, vollständig manueller Vorgeschmack zum Erstellen einer Tomcat-Laufumgebung auf Basis von Docker. Nachdem wir zunächst eine anständige Demo herausgebracht haben, können wir den Effekt sehen, der uns möglicherweise weiterhelfen kann.

Umgebung

In allen Umgebungen dieses Artikels wird ubuntu-13.10-server-amd64 auf VMware WorkStation ausgeführt. Theoretisch sind dies auch andere virtuelle Maschinen auch durchaus machbar.

Docker installieren

Docker Version 0.7 erfordert Linux-Kernel 3.8-Unterstützung und das AUFS-Dateisystem.

# 检查一下AUFS是否已安装
sudo apt-get update
sudo apt-get install linux-image-extra-`uname -r`
# 添加Docker repository key
sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
# 添加Docker repository,并安装Docker
sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker
# 检查Docker是否已安装成功
sudo docker version
# 终端输出 Client version: 0.7.1
Go version (client): go1.2
Git commit (client): 88df052
Server version: 0.7.1
Git commit (server): 88df052
Go version (server): go1.2
Last stable version: 0.7.1

Sudo entfernen

Unter Ubuntu müssen Sie bei der Ausführung von Docker jedes Mal sudo und das Passwort eingeben. Das ist sehr ermüdend. Lassen Sie uns hier eine Feinabstimmung vornehmen und den aktuellen Benutzer ändern Ausführungsberechtigungen werden der entsprechenden Docker-Benutzergruppe hinzugefügt.

# 添加一个新的docker用户组
sudo groupadd docker
# 添加当前用户到docker用户组里,注意这里的yongboy为ubuntu server登录用户名
sudo gpasswd -a yongboy docker
# 重启Docker后台监护进程
sudo service docker restart
# 重启之后,尝试一下,是否生效
docker version
#若还未生效,则系统重启,则生效
sudo reboot

Installieren Sie eine virtuelle Docker-Instanz-Ubuntu-Maschine

Docker wird installiert und der Hintergrundprozess wird automatisch gestartet. Sie können die Instanz der virtuellen Maschine installieren (hier finden Sie Informationen zum Lernen/Verwenden). (die offizielle Demonstration) Tutorial-Spiegel als Beispiel):

docker pull learn/tutorial

Nachdem die Installation abgeschlossen ist, sehen Sie den Effekt

docker run learn/tutorial /bin/echo hello world

Geben Sie interaktiv die neu installierte virtuelle Maschine ein

docker run -i -t learn/tutorial /bin/bash

In der Maschine wird Folgendes angezeigt:

root@51774a81beb3:/#

zeigt an, dass Sie die interaktive Maschine eingegeben haben Umfeld.

Installieren Sie den SSH-Terminalserver, um uns die externe Nutzung des SSH-Clients für die Anmeldung und den Zugriff zu erleichtern.

apt-get update
apt-get install openssh-server
which sshd
/usr/sbin/sshd
mkdir /var/run/sshd
passwd #输入用户密码,我这里设置为123456,便于SSH客户端登陆使用
exit #退出

Erhalten Sie die gerade ausgeführte Instanzcontainer-ID.

#docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
51774a81beb3 learn/tutorial:latest /bin/bash 3 minutes ago Exit 0 thirsty_pasteur

Sie können sehen, dass die Container-ID des aktuellen Vorgangs lautet: 51774a81beb3. Beachten Sie, dass alle Vorgänge nach der Ausführung übermittelt und für eine einfache SSH-Anmeldung gespeichert werden müssen:

docker commit 51774a81beb3 learn/tutorial

Diese Spiegelinstanz für längere Zeit als Hintergrundprozess ausführen:

docker run -d -p 22 -p 80:8080 learn/tutorial /usr/sbin/sshd -D

Der im Ubuntu-Container ausgeführte SSH-Server belegt Port 22 und -p 22 ist angegeben. -p 80:8080 bedeutet, dass unser Ubuntu Tomcat auf Port 8080 ausführt, der extern (außerhalb des Containers) zugeordnete Port jedoch 80 ist.

Überprüfen Sie zu diesem Zeitpunkt, ob es erfolgreich ausgeführt wird.

#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D About a minute ago Up About a minute 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focused_poincare

Beachten Sie, dass die zufällig zugewiesene SSH-Verbindungsportnummer hier 49154 ist:

ssh root@127.0.0.1 -p 49154

Geben Sie das Passwort ein, ist es in Ordnung ? Eingetragen? Sobald Sie SSH steuern, ist der Rest sehr einfach: Installieren Sie JDK, installieren Sie Tomcat usw., es liegt an Ihnen. Das Folgende ist das Installationsskript:

# 在ubuntu 12.04上安装oracle jdk 7
apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install -y wget
apt-get install oracle-java7-installer
java -version
# 下载tomcat 7.0.47
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
# 解压,运行
tar xvf apache-tomcat-7.0.47.tar.gz
cd apache-tomcat-7.0.47
bin/startup.sh

Standardmäßig belegt Tomcat Port 8080. Beim Starten der Spiegelinstanz wurde gerade -p 80:8080 angegeben, Ubuntu-Spiegelinstanz / Der Container öffnet Port 8080, der dem Host-Port 80 zugeordnet ist. Wenn Sie die Host-IP-Adresse kennen, können Sie frei darauf zugreifen. Testen Sie es auf dem Host-Computer einfach über Curl:

curl http://192.168.190.131

Natürlich können Sie auch einen Browser verwenden, um darauf zuzugreifen.

In realen Situationen darf Tomcat Port 80 möglicherweise nicht direkt für die Außenwelt öffnen. Er befindet sich normalerweise hinter Nginx/Apache oder einer Firewall.

Zusammenfassung

Der Aufbau einer Tomcat-Laufzeitumgebung mit Hilfe von Docker ist im Allgemeinen sehr einfach und ermöglicht es uns, die Präsenz von PAAS zu erkennen. Ja, die Verwendung von Docker als zugrunde liegendem Dienst von PAAS ist an sich nicht kompliziert. Jetzt ist es an der Zeit, darüber zu sprechen, wie Skriptdateien zum Erstellen einer Image-Instanz verwendet werden, und gleichzeitig über die Implementierungsprinzipien und -mechanismen von Docker zu sprechen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.

Ausführlichere Erläuterungen zu Docker-Studiennotizen und verwandte Artikel zum Aufbau einer JAVA Tomcat-Betriebsumgebung finden Sie auf der chinesischen PHP-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