Cree un directorio y coloque el paquete de instalación en el directorio correspondiente.
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
raíz@ubuntu20:~# mv php-5.3.28.tar.gz php
nginx
root@ubuntu20:~/nginx#vim Dockerfile
Añadir:
DESDE centos:7
EJECUTE 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
AGREGAR nginx-1.15.4.tar.gz /usr/src
ENV NGINX_DIR /usr/src/nginx-1.15.4
DIRTRABAJO $NGINX_DIR
EJECUTAR ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install
DIRTRABAJO /
EJECUTAR usuario agregar nginx
EJECUTAR ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
EXPONER 80
CMD ["nginx", "-g", "daemon off;"]
PHP
raíz@ubuntu20:~/php#vim Dockerfile
Añadir:
DESDE centos:7
EJECUTE 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
AGREGAR php-5.3.28.tar.gz /usr/src
EJECUTE 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 /
DIRTRABAJO $PHP_INSTALL_DIR
EJECUTAR ./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
DIRTRABAJO /
EJECUTAR cp $PHP_INSTALL_DIR/php.ini-desarrollo $PHP_DIR/php.ini
EJECUTAR cp $PHP_INSTALL_DIR/sapi/fpm/init.d.php-fpm $PHP_SH
EJECUTAR chmod +x $PHP_SH && chkconfig - agregar php-fpm
EJECUTAR cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf
EJECUTAR mkdir /www/php -p
EJECUTAR usuarioadd -M -s /sbin/nologin nginx
COPIAR php.sh /root/php.sh
EJECUTAR chmod +x /root/php.sh
EXPONER 9000
CMD ["/root/php.sh"]
raíz@ubuntu20:~/php# vim php.sh
Añadir:
#!/bin/bash
/etc/init.d/php-fpm inicio
/bin/bash
root@ubuntu20:~# vim docker-compose.yaml
Revisar:
versión: "3"
servicios:
nginx:
nombre_contenedor: nginx
construir: ~/nginx
volúmenes:
- nginx_dir:/usr/local/nginx/conf/
Enlaces:
-php:phpfpm
reiniciar: siempre
puertos:
- "80:80"
nombre de host: nginx
redes:
- lnmp_net
MySQL:
imagen: mysql:5.7
volúmenes:
- mysql_data:/var/lib/mysql
reiniciar: siempre
ambiente:
MYSQL_ROOT_PASSWORD: 123.com
MYSQL_DATABASE: todos
redes:
- lnmp_net
PHP:
nombre de host: php
nombre_contenedor: php
construir: ~/php
volúmenes:
- php_dir:/usr/local/php/
- php_index:/www/php
reiniciar: siempre
puertos:
- "9000:9000"
stdin_open: verdadero
redes:
-lnmp_net
volúmenes:
nginx_dir:
datos_mysql:
php_dir:
índice_php:
redes:
lnmp_net:
conductor: puente
Construir imagen
root@ubuntu20:~# compilación de composición acoplable
root@ubuntu20:~# docker-compose up –d
Editar archivo de configuración
root@ubuntu20:~# vim /var/lib/docker/volumes/root_nginx_dir/_data/nginx.conf
Añadir:
Editar archivo de configuración php
root@ubuntu20:~# vim /var/lib/docker/volumes/root_php_dir/_data/php.ini
Añadir:
root@ubuntu20:~# vim /var/lib/docker/volumes/root_php_dir/_data/etc/php-fpm.conf
Modificar y agregar:
Archivo de configuración de Bianji
root@ubuntu20:~# vim /var/lib/docker/volumes/root_php_index/_data/index.php
agregue manualmente:
Editar archivo de configuración
root@ubuntu20:~# vim /var/lib/docker/volumes/root_php_index/_data/mysql.php
agregue manualmente:
Autorización de base de datos
root@ubuntu20:~# docker exec -it root_mysql_1 mysql -u root -p123.com
mysql> concede todo en *.* a 'root'@'%' identificado por '123.com';
Consulta correcta, 0 filas afectadas, 1 advertencia (0,00 seg)
Ingrese al contenedor php para configurar, compilar e instalar
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
Reiniciar el servicio php
[root@php php-5.3.28]# /etc/init.d/php-fpm reiniciar
Ingrese al contenedor mysql y reinicie el servicio
root@ubuntu20:~# docker exec -it root_mysql_1 bash
root@c21e5a16202e:/# /etc/init.d/mysql reiniciar
[info] Deteniendo MySQL Community Server 5.7.36.
Ingrese al contenedor nginx y reinicie el servicio
root@ubuntu20:~# docker exec -it nginx bash
[root@nginx /]# nginx -s recargar
Acceso al navegador
192.168.0.143/index.php
192.168.0.143/mysql.php
192.168.0.143