Maison >Java >javaDidacticiel >Comment utiliser Docker pour créer un environnement Java

Comment utiliser Docker pour créer un environnement Java

王林
王林avant
2023-05-11 13:22:063226parcourir

Que fait Docker ?

Docker est un moteur de conteneur avancé basé sur un conteneur Linux (conteneur lxc-linux). Le code source est hébergé sur github et est open source conformément à. le protocole apache2.0. L'objectif de Docker est d'implémenter une solution légère de virtualisation du système d'exploitation.

Pour apprendre Docker, vous devez d'abord comprendre quelques concepts :

Image : l'image de Docker est similaire à une image ISO système courante et contient des informations sur l'application.

Conteneur : un conteneur est équivalent à une machine virtuelle qui peut être run. L'application s'exécute dans le conteneur et Docker s'exécute sur "docker" ;

Entrepôt - L'entrepôt est un endroit où les images sont stockées. Il a un contrôle de version similaire à git et est également divisé en deux formes : entrepôt public (. public) et entrepôt privé (privé) ;

Docker prend en charge la plupart des distributions Linux. En utilisant des conteneurs Docker, vous pouvez exécuter vos propres applications sur différents systèmes d'exploitation et différentes machines. Vous n'avez pas à vous soucier de la configuration du matériel, du fonctionnement. l'environnement, etc., et la migration des applications doit être très simple.

Comparaison entre Docker et la technologie de virtualisation traditionnelle

Par rapport à la technologie de machine virtuelle traditionnelle, Docker consomme moins de ressources et démarre plus rapidement, ce qui facilite grandement le déploiement, l'exploitation et la maintenance du projet.

Docker implémente la virtualisation au niveau du système d'exploitation et réutilise le système d'exploitation de l'hôte local. La méthode traditionnelle consiste à virtualiser plusieurs systèmes d'exploitation en fonction du matériel, puis à déployer les applications associées sur le système.

Cette image illustre de manière frappante la différence entre les technologies de virtualisation traditionnelles telles que docker et vm :

Comment utiliser Docker pour créer un environnement Java vsComment utiliser Docker pour créer un environnement Java

Préparation

Vous devez d'abord préparer un système d'exploitation centos, une machine virtuelle est également disponible. Les exigences de configuration spécifiques sont les suivantes :

1. Il doit s'agir d'un système d'exploitation 64 bits
2 Il est recommandé que le noyau soit supérieur à 3.8

Installer Docker

Il vous suffit d'installer le logiciel Docker. via la commande suivante

yum -y install docker-io

Vous pouvez utiliser la commande suivante pour vérifier si Docker est installé avec succès :

docker version

Si la sortie affiche le numéro de version de Docker, cela signifie que l'installation est réussie. Vous pouvez démarrer le service Docker via le. commande suivante :

service docker start

Si la commande de service ne peut pas être démarrée, utilisez la commande suivante

systemctl start docker.service

Tout comme pour installer un logiciel, nous devons d'abord avoir un CD avec le logiciel gravé dessus si vous utilisez un. lecteur optique virtuel, vous devez préparer le fichier image et l’utiliser pour installer le logiciel. Dans le monde de Docker, il existe également des fichiers image. Le système d'exploitation dont nous avons besoin a été installé. Nous l'appelons généralement docker image

Téléchargez l'image

docker search <image>

Utilisez docker pull imagename (nom du miroir) pour télécharger l'image

Téléchargez. terminé Utilisez ensuite la commande suivante pour afficher toutes les images locales :

docker images

Une fois le téléchargement terminé, vous devriez voir :

repository        tag         image id      created       virtual size
docker.io/centos   centos7       f753707788c5    12 days ago     127.1 mb

Si vous voyez le résultat ci-dessus, cela signifie que vous pouvez utiliser l'image "docker.cn/docker/ centos", ou appelez-le un référentiel, l'image a une balise nommée "centos7", et il y a aussi un identifiant d'image nommé "25c5298b1a36" (ceci est généré aléatoirement, donc tout le monde voit qu'ils sont tous différents)

Démarrez le conteneur

Les conteneurs fonctionnent sur la base d'images. Une fois le conteneur démarré, nous pouvons nous connecter au conteneur et installer les logiciels ou les applications dont nous avons besoin.

Utilisez pour accéder au docker déjà en cours d'exécution

docker attach dabfb413d8cf[容器id]

Utilisez la commande suivante pour démarrer le conteneur :

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5

docker run

Les paramètres pertinents incluent :

-i : Indique l'exécution du conteneur en mode interactif

-t : Indique que le conteneur entrera sa ligne de commande après le démarrage

-v : Indique quel répertoire local doit être monté dans le conteneur, au format -v :

Supposons que tous nos programmes d'installation sont placés dans le répertoire /root/software/ de l'hôte et qu'ils doivent maintenant être montés dans le répertoire /mnt/software/ du conteneur.

Une fois tout cela fait, vous pouvez installer le logiciel pour ce conteneur.

commande de transfert de fichiers docker

docker cp more.log e7de404c00bd:/tmp/ 

1f8787b81bcd

Installer l'environnement de développement Java

Nous devons installer jdk1.7, tomcat7, nginx, téléchargez simplement le package d'installation depuis le site officiel

1 Installez jdk

Tout d'abord, décompressez. Package jdk :

tar -zxf jdk-7u71-linux-x64.tar.gz –c

S'il s'agit d'un package rpm

rpm –ivh jdk-7u71-linux-x64.tar.gz

Puis renommez le dossier

mv jdk1.7.0_71/ jdk/

Enfin configurez les variables d'environnement

vi ~/.bashrc

Ajoutez la configuration suivante à la fin du fichier :

export java_home=/opt/jdk

export path=$path:$java_home

·Ouvrez /etc/profile avec un éditeur de texte

·Ajoutez à la fin du fichier de profil :

export java_home=/usr/share/jdk1.6.0_14 
 export path=$java_home/bin:$path 
 export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar

Enfin, utilisez la commande source pour que les variables d'environnement prennent effet :

source ~/.bashrc

source /etc/profile

1. Installez tomcat

La même chose est vraie, décompressez le fichier. Package Tomcat :

tar –zxf apache-tomcat-7.0.55.tar.gz

Ensuite, renommez le répertoire Tomcat :

mv apache-tomcat-7.0.55/ tomcat/

Écrivez un script en cours d'exécution Lors du démarrage du conteneur, exécutez le script pour démarrer Tomcat. Le processus spécifique est le suivant :

vi /root/run.sh

Ensuite, modifiez le contenu du script comme suit. :

#!/bin/bash

source ~/.bashrc

sh /opt/tomcat/bin/catalina.sh run

注意:这里必须先加载环境,然后使用tomcat的运行脚本来运行tomcat

最后,为运行脚本添加执行权限:

chmod u+x /root/run.sh

1.安装nginx

先去官网下载源码包注意要是gz的

   下载地址

下载完后,解压安装包:

tar -zxvf nginx-1.11.5.tar.gz

然后再配置安装变量,打开解压后的目录-执行命令

cd nginx-1.11.5

配置安装环境

./configure  --prefix=/usr/local/servers/nginx  “/usr/local/servers/nginx”是安装路径

有可能会出现./configure: error: c compiler cc is not found

这时需要运行命令更新一下gcc

yum install gcc gcc-c++ ncurses-devel perl

yum -y install pcre-devel

yum -y install zlib-devel

yum -y install autoconf libtool make

在解压目录执行:

make

切换到root用户执行安装命令

make install

创建软链

ln –s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx

启动nginx服务

nginx

再用 ps  -ef|grep nginx查看是否启动成功

提交docker镜像

首先退出你刚才配置好的docker镜像

exit

然后使用以下命令可以看到刚才退出的docker镜像

docker ps –a

再使用以下命令,根据某个”容器id”来创建一个新的”镜像”:

docker commit 57c312bbaad1 javaweb:0.1

该容器id是”57c312bbaad1”,所创建的镜像名是”javaweb”

注意:”57c312bbaad1” 这个id是使用 docker ps 命令来查看的

提交了新的镜像你可以把这个镜像储存tar包

docker  –o ~/javaweb.tar javaweb

docker  save –o  保存的目录  镜像名

启动容器

先用 docker  images看看当前所有的镜像

启动最新创建的镜像

docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh

-d:表示以”守护模式”执行/root/run.sh脚本,此时tomcat控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过docker网桥来访问容器内部的80端口了

--name:表示容器名称,用一个有意义的名称命名即可

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer