如何在docker下搭建一个JAVA Tomcat运行环境,有试过的么?
PHPz
PHPz 2017-04-21 10:56:11
0
1
770

最新在学习Docker,想搭建一个java tomcat环境,有知道的么?越详细越好,先谢了。

PHPz
PHPz

学习是最好的投资!

répondre à tous(1)
大家讲道理

Je pense que ce blog explique très clairement votre problème, vous pouvez le lire attentivement,
http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html

Docker est conçu pour fournir une solution de déploiement automatisé d'applications. Il peut créer rapidement un conteneur (machine virtuelle légère) sur un système Linux et déployer et exécuter des applications. Les applications peuvent être facilement automatisées via des fichiers de configuration. sont très pratiques. Grâce à l'utilisation de conteneurs, l'environnement de production et l'environnement de développement peuvent être facilement séparés sans s'affecter. Il s'agit de la méthode Docker la plus courante. D'autres façons de jouer incluent les applications Web à grande échelle, le déploiement de bases de données, le déploiement continu, les clusters, les environnements de test, le cloud computing orienté services, le VDI de bureau virtuel, etc.

Impression subjective : Docker est écrit en langage Go, utilise des groupes de contrôle pour réaliser l'isolation des ressources et la technologie des conteneurs utilise LXC. Il fournit une solution de virtualisation légère qui peut exécuter des processus Unix de manière indépendante. Il fournit un moyen d'automatiser le déploiement de logiciels dans un environnement sécurisé et reproductible. Les commandes LXC sont un peu compliquées. Si vous êtes intéressé, voici un article que j'ai écrit auparavant basé sur LXC (création d'une version simple de la plate-forme cloud JAVA PAAS à partir de zéro).

Les principes de mise en œuvre, les théories associées, les scénarios d'application, etc. seront écrits plus tard dans cette série. Voici un bref aperçu, entièrement manuel, de la construction d'un environnement d'exécution Tomcat basé sur Docker. Sortez d’abord une démo décente, nous pouvons voir l’effet, ce qui peut nous aider à aller plus loin.

Environnement

Dans tous les environnements de cet article, ubuntu-13.10-server-amd64 fonctionne sur VMware WorkStation. Notez qu'il s'agit d'un système 64 bits. En théorie, d'autres machines virtuelles sont également tout à fait réalisables.

Installer Docker

Docker version 0.7 nécessite la prise en charge du noyau Linux 3.8 et du système de fichiers AUFS.

Vérifiez si AUFS est installé

sudo apt-get update
sudo apt-get install linux-image-extra-uname -r

Ajouter une clé de référentiel Docker

sudo sh -c "wget ​​​​-qO- https://get.docker.io/gpg | apt-key add -"

Ajouter le référentiel Docker et installer 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

Vérifiez si Docker a été installé avec succès

version sudo docker

Sortie du terminal Version client : 0.7.1

Version Go (client) : go1.2
Validation Git (client) : 88df052
Version du serveur : 0.7.1
Validation Git (serveur) : 88df052
Version Go (serveur) : go1.2
Dernière version stable : 0.7.1
Supprimer sudo

Sous Ubuntu, lors de l'exécution de Docker, vous devez saisir sudo et mot de passe à chaque fois, ce qui est très fatigant. Affinons-le ici et ajoutons les autorisations d'exécution de l'utilisateur actuel au groupe d'utilisateurs Docker correspondant.

Ajouter un nouveau groupe d'utilisateurs Docker

sudo groupadd docker

Ajoutez l'utilisateur actuel au groupe d'utilisateurs Docker. Notez que yongboy est ici le nom d'utilisateur de connexion au serveur Ubuntu

sudo gpasswd -un docker yongboy

Redémarrez le processus de surveillance en arrière-plan Docker

Redémarrage du docker du service sudo

Après le redémarrage, essayez-le pour voir si cela fonctionne

version docker

S'il n'a pas encore pris effet, redémarrez le système et cela prendra effet

redémarrage sudo
Installer une machine virtuelle Docker exécutant instance-ubuntu

Une fois Docker installé, le processus en arrière-plan est automatiquement démarré et vous pouvez installer une instance de machine virtuelle (ici, prenez l'image d'apprentissage/tutoriel utilisée dans la démonstration officielle comme exemple) :

docker pull learn/tutoriel
Une fois l'installation terminée, jetez un œil à l'effet

docker run learn/tutorial /bin/echo bonjour tout le monde
Entrez de manière interactive dans la machine virtuelle nouvellement installée

docker run -i -t learn/tutorial /bin/bash
Vous verrez :

root@51774a81beb3:/#
Indique que l'environnement interactif a été entré.

Installez le serveur de terminaux SSH pour faciliter notre utilisation externe du client SSH pour vous connecter et accéder

apt-get update
apt-get installer openssh-server
quel sshd
/usr/sbin/sshd
mkdir /var/run/sshd
passwd #Entrez le mot de passe de l'utilisateur. Je l'ai défini ici sur 123456 pour faciliter la connexion du client SSH
quitter #Sortie
Obtenez l'ID du conteneur d'instance que vous venez d'utiliser

docker ps -l

ID DE CONTENEUR COMMANDE D'IMAGE STATUT CRÉÉ NOMS DE PORTS
51774a81beb3 learn/tutorial:latest /bin/bash il y a 3 minutes Sortie 0 soif_pasteur
Vous pouvez voir que l’ID du conteneur de l’opération en cours est : 51774a81beb3. Notez qu'une fois toutes les opérations effectuées, elles doivent être soumises et enregistrées pour une connexion SSH facile :

docker commit 51774a81beb3 apprentissage/tutoriel
Exécutez cette instance d'image en arrière-plan pendant une longue période :

docker run -d -p 22 -p 80:8080 learn/tutorial /usr/sbin/sshd -D
Le serveur SSH exécuté dans le conteneur Ubuntu occupe le port 22 et -p 22 est spécifié. -p 80:8080 signifie que notre Ubuntu exécutera Tomcat sur le port 8080, mais le port mappé en externe (en dehors du conteneur) est 80.

À ce stade, vérifiez s'il fonctionne correctement.

docker ps

ID DE CONTENEUR COMMANDE D'IMAGE STATUT CRÉÉ NOMS DE PORTS
871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D Il y a environ une minute Up Environ une minute 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focus_poincare
Notez que le numéro de port de connexion SSH attribué aléatoirement est 49154 :

ssh root@127.0.0.1 -p 49154
Après avoir entré le mot de passe, puis-je entrer ? Une fois que vous contrôlez SSH, le reste est très simple, installez JDK, installez Tomcat, etc., c'est à vous de décider. Voici le script d'installation :

Installer Oracle JDK 7 sur Ubuntu 12.04

apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get mise à jour
apt-get install -y wget
apt-get install oracle-java7-installer
java -version

Téléchargez 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

Extraire et exécuter

tar xvf apache-tomcat-7.0.47.tar.gz
cd apache-tomcat-7.0.47
bin/startup.sh
Par défaut, Tomcat occupera le port 8080. Lors du démarrage de l'instance miroir, -p 80:8080 a été spécifié. L'instance/conteneur miroir Ubuntu ouvre le port 8080, qui est mappé sur le port hôte 80. Si vous connaissez l'adresse IP de l'hôte, vous pouvez y accéder librement. Sur la machine hôte, testez-le simplement via curl :

boucler http://192.168.190.131
Bien entendu, vous pouvez également utiliser un navigateur pour y accéder.

Dans des situations réelles, Tomcat peut ne pas être autorisé à ouvrir directement le port 80 au monde extérieur. Il est généralement situé derrière nginx/apache ou un pare-feu. Ce qui précède n'est qu'une démonstration.

Résumé

Construire un environnement d'exécution Tomcat avec l'aide de Docker est très simple en général et nous permet de constater la présence du PAAS. Oui, utiliser Docker comme service sous-jacent du PAAS n’est pas compliqué en soi. Il est temps maintenant de parler de la façon d'utiliser des fichiers de script pour créer une instance d'image, et en même temps de parler des principes et mécanismes d'implémentation de Docker.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal