Maison > Questions et réponses > le corps du texte
最新在学习Docker,想搭建一个java tomcat环境,有知道的么?越详细越好,先谢了。
大家讲道理2017-04-21 10:58:11
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.
sudo apt-get update
sudo apt-get install linux-image-extra-uname -r
sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
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
version sudo docker
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.
sudo groupadd docker
sudo gpasswd -un docker yongboy
Redémarrage du docker du service sudo
version docker
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
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.
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 :
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
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
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.