Utilisez docker-compose pour créer et déployer lnmp

Créez un répertoire et placez le package d'installation dans le répertoire correspondant

root@ubuntu20 : ~# mkdir nginx mysql php

root@ubuntu20 : ~# mv nginx-1.15.4.tar.gz nginx

root@ubuntu20 : ~# mv mysql-5.5.22.tar.gz mysql

root@ubuntu20:~# mv php-5.3.28.tar.gz php

Nginx

root@ubuntu20:~/nginx# vim Dockerfile

Ajouter à:

DE centos:7

EXÉCUTER yum -y install net-tools coreutils chkconfig iproute sed \

pcre-devel ncurses-devel openssl-devel zlib-devel autoconf \

libjpeg-devel libxml2-devel libpng-devel gd gcc gcc-c++ make perl perl-develRUN yum -y install net-tools iproute pcre-devel openssl-devel gcc gcc-c++ make zlib-devel elinks

AJOUTER nginx-1.15.4.tar.gz /usr/src

ENV NGINX_DIR /usr/src/nginx-1.15.4

RÉP TRAVAIL $NGINX_DIR

EXÉCUTER ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install

RÉPERT TRAVAIL /

RUN useradd nginx

EXÉCUTER ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

EXPOSER 80

CMD ["nginx", "-g", "démon désactivé ;"]

PHP

root@ubuntu20:~/php# vim Dockerfile

Ajouter à:

DE centos:7

EXÉCUTER yum -y install net-tools coreutils chkconfig iproute sed \

pcre-devel ncurses-devel openssl-devel zlib-devel autoconf php-mysql mysql-devel \

libjpeg-devel libxml2-devel libpng-devel gd gcc gcc-c++ make perl perl-develENV PHP_INSTALL_DIR /usr/src/php-5.3.28

ENV PHP_DIR /usr/local/php

ENV PHP_SH /etc/init.d/php-fpm

AJOUTER php-5.3.28.tar.gz /usr/src

EXÉCUTER yum -y install net-tools coreutils chkconfig iproute sed \

pcre-devel ncurses-devel openssl-devel zlib-devel autoconf \

libjpeg-devel libxml2-devel libpng-devel gd gcc gcc-c++ make perl perl-develWORKDIR /

RÉPÉR TRAVAIL $PHP_INSTALL_DIR

EXÉCUTER ./configure --prefix=$PHP_DIR --with-gd --with-zlib \

--with-config-file-path=$PHP_DIR \

--enable-fpm --enable-mbstring --with-jpeg-dir=/usr/lib && make && make install

RÉPERT TRAVAIL /

EXÉCUTER cp $PHP_INSTALL_DIR/php.ini-development $PHP_DIR/php.ini

EXÉCUTER cp $PHP_INSTALL_DIR/sapi/fpm/init.d.php-fpm $PHP_SH

RUN chmod +x $PHP_SH && chkconfig -- ajouter php-fpm

EXÉCUTER cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf

EXÉCUTER mkdir /www/php -p

EXÉCUTER useradd -M -s /sbin/nologin nginx

COPIER php.sh /root/php.sh

EXÉCUTER chmod +x /root/php.sh

EXPOSER 9000

CMD ["/root/php.sh"]

root@ubuntu20:~/php# vim php.sh

Ajouter à:

#!/bin/bash

/etc/init.d/php-fpm démarrer

/bin/bash

root@ubuntu20 : ~# vim docker-compose.yaml

Réviser:

version : "3"

prestations de service:

  nginx :

    nom_du conteneur : nginx

    construire : ~/nginx

    tomes :

      - nginx_dir:/usr/local/nginx/conf/

    liens:

      - php:phpfpm

    redémarrer : toujours

    ports :

      - "80:80"

    nom d'hôte : nginx

    réseaux :

        - lnmp_net

  mysql :

    image : mysql : 5.7

    tomes :

      - mysql_data :/var/lib/mysql

    redémarrer : toujours

    environnement:

        MYSQL_ROOT_PASSWORD : 123.com

        MYSQL_DATABASE : tâches

    réseaux :

        - lnmp_net

php :

    nom d'hôte : php

    nom_du conteneur : php

    construire : ~/php

    tomes :

      - php_dir:/usr/local/php/

      - php_index:/www/php

    redémarrer : toujours

    ports :

      - "9000:9000"

    stdin_open : vrai

    réseaux :

      - lnmp_net

tomes :

  nginx_dir :

  mysql_data :

  rép_php :

  php_index :

réseaux :

  lnmp_net :

     pilote : pont

Construire une image

root@ubuntu20 : ~# build docker-compose

root@ubuntu20 : ~# docker-compose up –d

Modifier le fichier de configuration

root@ubuntu20 : ~# vim /var/lib/docker/volumes/root_nginx_dir/_data/nginx.conf

Ajouter à:

Modifier le fichier de configuration php

root@ubuntu20 : ~# vim /var/lib/docker/volumes/root_php_dir/_data/php.ini

Ajouter à:

root@ubuntu20 : ~# vim /var/lib/docker/volumes/root_php_dir/_data/etc/php-fpm.conf

Modifier et ajouter :

Fichier de configuration Bianji

root@ubuntu20 : ~# vim /var/lib/docker/volumes/root_php_index/_data/index.php

ajouter manuellement :

Modifier le fichier de configuration

root@ubuntu20 : ~# vim /var/lib/docker/volumes/root_php_index/_data/mysql.php

ajouter manuellement :

Autorisation de base de données

root@ubuntu20 : ~# docker exec -it root_mysql_1 mysql -u root -p123.com

mysql> accorde tout sur *.* à 'root'@'%' identifié par '123.com' ;

Requête OK, 0 ligne affectée, 1 avertissement (0,00 s)

Entrez le conteneur php pour configurer, compiler et installer

root@ubuntu20 : ~# docker exec -it php bash

[root@php /]# cd /usr/src/php-5.3.28/

[root@php php-5.3.28]# ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-config-file-path=/usr/local/php --enable-fpm --enable-mbstring --with-jpeg-dir=/usr/lib && make && make install

Redémarrer le service PHP

[root@php php-5.3.28]# /etc/init.d/php-fpm redémarrage

Entrez dans le conteneur mysql et redémarrez le service

root@ubuntu20:~# docker exec -it root_mysql_1 bash

root@c21e5a16202e:/# /etc/init.d/mysql redémarrage

[info] Arrêt de MySQL Community Server 5.7.36.

Entrez dans le conteneur nginx et redémarrez le service

root@ubuntu20 : ~# docker exec -it nginx bash

[root@nginx /]# nginx -s recharger

Accès au navigateur

192.168.0.143/index.php

192.168.0.143/mysql.php

192.168.0.143

Je suppose que tu aimes

Origine blog.csdn.net/weixin_53053517/article/details/130747320
conseillé
Classement