Maison >Opération et maintenance >Docker >Qu'est-ce que la lampe dans Docker

Qu'est-ce que la lampe dans Docker

青灯夜游
青灯夜游original
2022-02-08 16:44:293514parcourir

Dans Docker, LAMP fait référence à une combinaison de Linux (système d'exploitation), de serveur HTTP Apache, de MySQL (logiciel de base de données tel que MariaDB) et de PHP (Perl ou Python), qui est généralement utilisé pour établir un environnement de serveur Web.

Qu'est-ce que la lampe dans Docker

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.

LAMP fait référence à la combinaison de Linux (système d'exploitation), du serveur HTTP Apache, de MySQL (fait parfois aussi référence à MariaDB, logiciel de base de données) et PHP (fait parfois aussi référence à Perl ou Python), ce qui est généralement très adapté pour établir un site Web. environnement serveur.

Ce qui suit décrit comment utiliser Docker pour créer un conteneur contenant des composants LAMP.

Téléchargez l'image LAMP

Recherchez les images LAMP qui sont collectées ou utilisées fréquemment sur Docker Hub L'auteur recommande de choisir l'image tutum/lampe :

# sudo docker search -s 10 lamp
tutum/lamp              Out-of-the-box LAMP image (PHP+MySQL)           67 

执行docker pull命令,下载镜像:
 # sudo docker pull tutum/lamp

Utilisez la méthode par défaut pour démarrer le conteneur LAMP

. Utilisez l'image téléchargée pour démarrer un conteneur et mappez le port 8080 et le port 3306 du conteneur :

# sudo docker run -d -p 8080:80 -p 3306:3306 tutum/lamp
# docker ps
使用curl命令测试,可以查看到默认的应用已经启动:
# curl http://127.0.0.1:8080

Déployez votre propre application PHP

Le conteneur par défaut démarre une application helloword. Les lecteurs peuvent modifier le Dockerfile pour créer une image d'application LAMP personnalisée basée sur cette image.

Créez une nouvelle lampe de répertoire de travail sur l'hôte hôte :

# mkdir lamp
# cd lamp
# touch Dockerfile

Créez un Dockerfile dans le répertoire php avec le contenu :

FROM tutum/lamp:latest
RUN rm -fr /app &&git clone https://github.com/username/customapp.git /app
#这里将https://github.com/username/customapp.git 地址替换为你自己的项目地址
EXPOSE 80 3306CMD ["/run.sh"]

Créez une image et nommez-la dockerpool/my-lamp-app :

# docker build -t dockerpool/my-lamp-app .
利用新创建镜像启动容器,注意启动时候指定-d参数,让容器后台运行:
# docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app
在本地主机上使用curl看一下自己的应用程序是不是已经正确启动:
# curl http://127.0.0.1:8080/

En PHP Connectez-vous à la base de données dans le programme

1. Accédez à la base de données MySQL dans le conteneur

La base de données MySQL dans l'image tutum/lamp téléchargée a déjà l'utilisateur root par défaut. Les connexions locales ne nécessitent pas de mot de passe, donc l'implémentation de. accéder à la base de données dans le code Très simple :

<?php
$mysql = new mysqli("localhost", "root");
echo "MySQL Server info: ".$mysql->host_info;
?>

2. Accédez à la base de données MySQL en dehors du conteneur

La base de données MySQL par défaut ne prend pas en charge la connexion à distance par l'utilisateur root, donc la base de données MySQL n'est pas accessible directement par l'utilisateur root à l'extérieur. le conteneur.
Lorsque vous démarrez un conteneur en utilisant l'image tutum/lamp pour la première fois, il créera automatiquement un utilisateur MySQL nommé admin et générera un mot de passe aléatoire. Ce mot de passe peut être obtenu à l'aide de la commande docker logs :

# sudo docker logs 9cb

Notez que l'administrateur. l'utilisateur dispose des mêmes autorisations root.

Apprentissage recommandé : "Tutoriel vidéo Docker"

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn