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.
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!