LEMP (Linux, Nginx, MySQL, PHP7) Déploiement d'images Docker Stack
- 1606
- 281
- Rayan Lefebvre
À propos
Le docker de construction automatisé Lemp
image linuxconfig / lemp-php7
peut être utilisé comme test et aussi comme environnement de production pour une application dynamique PHP. Il comprend Debian GNU / Linux, un serveur Web Nginx léger et encore puissant, un système de gestion de base de données relationnel MySQL et un langage de script PHP.
Au moment de la rédaction du présent. À partir de cette raison, PHP 7 a été compilé à partir du code source lors de la construction d'image Docker en utilisant compiler-php-debian
script situé à https: // github.com / linuxconfig / compile-php-debian
.
De plus, tous les modules PHP tiers ne sont pas actuellement pris en charge sur PHP 7.
Déploiement
La section suivante décrit le déploiement de linuxconfig / lemp-php7
docker sur votre hôte docker. Laissez commencer par créer un exemple de site Web PHP avec une poignée de connexion MySQL. Ajouter également phpinfo ();
dans le mix pour afficher la page d'informations PHP actuelle:
Enregistrer le code ci-dessus dans indice.php
fichier et dans un nouveau html
annuaire. Alternativement,html
Le répertoire peut contenir votre application PHP souhaitée:
$ mkdir html $ vi html / index.php $ ls html / index.php
À ce stade, nous sommes prêts à déployer linuxconfig / lemp-php7
Image Docker:
# docker run --name = lemp -dp -v $ pwd / html: / var / www / html linuxconfig / lemp-php7 8306ab0e404e5e5ce4f17731f88a610f7f8bc939289c0746b875716355df0b1aaaa
En exécutant la commande ci-dessus, nous avons créé et lancé un nouveau conteneur Docker lemp
. En même temps, nous avons également monté notre répertoire de développement de sites Web html
Comme le répertoire racine de Nginx. Les ports MySQL et Nginx sont désormais liés au port aléatoire d'un système hôte.
Les deux ports locaux peuvent désormais être utilisés pour accéder aux services MySQL et Nginx:
# Docker Port Lemp 3306 / TCP -> 0.0.0.0: 32772 80 / TCP -> 0.0.0.0: 32773
Accès nginx
À ce stade $ sudo docker port lemp
commande. Utilisez la ligne de commande ou votre navigateur pour naviguer vers http: // localhost: 32773
URL:
# curl -i http: // localhost: 32773 http / 1.1 200 OK Server: Nginx / 1.6.2 Date: Sun, 01 janvier 2017 22:51:58 GMT Content-Type: Text / HTML; Charset = UTF-8 Encodage de transfert: Connexion Chunked: Keep-Alive X-alimented-By: PHP / 7.1.0 Succès: une connexion appropriée à MySQL a été établie! Informations sur l'hôte: 127.0.0.1 via TCP / IP
Accès mysql
La base de données MySQL est accessible via administrer
Utilisateur et mot de passe par défaut passer
. Comme précédemment, nous devons d'abord obtenir le numéro de port du système hôte lié à la base de données MySQL dans une image Docker en utilisant $ sudo docker port lemp
commande. Ensuite, nous pouvons nous connecter à la base de données:
$ mysql -uadmin -ppass -h 127.0.0.1 -P32772 Bienvenue dans le moniteur MySQL. Les commandes se terminent avec; ou \ g. Votre ID de connexion MySQL est 15 Version du serveur: 5.5.53-0 + Deb8u1 (Debian) Copyright (C) 2000, 2016, Oracle et / ou ses affiliés. Tous les droits sont réservés. Oracle est une marque déposée d'Oracle Corporation et / ou de ses affiliés. D'autres noms peuvent être les marques de leurs propriétaires respectifs. Type 'help;' ou '\ h' pour obtenir de l'aide. Tapez '\ c' pour effacer l'instruction de saisie actuelle. mysql>
Php 7
Comme déjà mentionné ci-dessus, PHP 7 a été compilé à partir d'une branche PHP 7 à bord saignant. L'installation entière a été effectuée dans / usr / local / php-version /
annuaire. À partir de cette raison pour accéder à la ligne de commande php
Binaire vous l'exécutez avec un chemin complet:
# docker exec -it lemp / usr / local / php-7.1.0 / bac / php -v php 7.1.0 (CLI) (Construit: 1er janvier 2017 21:33:40) (NTS) Copyright (C) 1997-2016 The PHP Group Zend Engine V3.1.0-DEV, Copyright (C) 1998-2016 Zend Technologies avec Zend Opcache V7.1.0, Copyright (C) 1999-2016, par Zend Technologies
ou inclure / usr / local / php-7.1.0 / bin /
Dans le cadre de votre CHEMIN
variable environnementale.
Informations Complémentaires
Obtenez une liste des modules PHP 7 activés
# docker exec -it lemp / usr / local / php-7.1.0 / bin / php -m [modules PHP] bcmath bz2 calendrier core ctype curl date dba dom ex exif fileinfo filter ftp gd gettex Sockets Spl Sqlite3 standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zend opcache zip zlib [modules zend] zend opcache
Accès aux conteneurs
Pendant que votre lemp
Le conteneur est en cours d'exécution, il peut être accès par:
$ sudo docker exec -it lemp / bin / bash root @ 8306ab0e404e: / #
Réinitialiser le mot de passe utilisateur MySQL
La commande ci-dessous définira un nouveau mot de passe 123
pour leadministrer
utilisateur :
# mysql mysql> Définir le mot de passe pour 'admin' @ '%' = mot de passe ('123');
Redémarrer la pile de lemp
$ sudo docker exec lemp superviseur redémarrer
Tutoriels Linux connexes:
- Choses à installer sur Ubuntu 20.04
- Une introduction à l'automatisation Linux, des outils et des techniques
- Ubuntu 20.04: WordPress avec l'installation de Nginx
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Comment installer la pile LEMP sur Almalinux
- Installez MySQL sur Ubuntu 20.04 LTS Linux
- Boucles imbriquées dans les scripts bash
- Comment installer MySQL sur Almalinux
- Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
- Liste des meilleurs outils Kali Linux pour les tests de pénétration et…
- « Comment installer Kannel SMS Gateway sur Debian Linux pour les notifications SMS Nagios
- Comment installer Kodi Media Software sur Ubuntu 16.04 Linux Desktop »