Maison  >  Questions et réponses  >  le corps du texte

如何在docker下搭建一个JAVA Tomcat运行环境,有试过的么?

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

PHPzPHPz2711 Il y a quelques jours723

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理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.

    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.

    répondre
    0
  • Annulerrépondre