Code Monkey home page Code Monkey logo

docker-php-mysql's Introduction

Docker: PHP & MySQL

Instala rápidamente un ambiente de desarrollo local para trabajar con PHP y MySQL utilizando Docker.

Utilizar Docker es sencillo, pero existen tantas imágenes, versiones y formas para crear los contenedores que hacen tediosa esta tarea. Este proyecto ofrece una instalación rápida, con versiones estandar y con la mínima cantidad de modificaciones a las imágenes de Docker.

Viene configurado con PHP 7.4 y MySQL 5.7, además se incluyen las extensiones gd, zip y mysql.

Requerimientos

Configurar el ambiente de desarrollo

Puedes utilizar la configuración por defecto, pero en ocasiones es recomendable modificar la configuración para que sea igual al servidor de producción. La configuración se ubica en el archivo .env con las siguientes opciones:

  • PHP_VERSION versión de PHP (Versiones disponibles de PHP).
  • PHP_PORT puerto para servidor web.
  • MYSQL_VERSION versión de MySQL(Versiones disponibles de MySQL).
  • MYSQL_USER nombre de usuario para conectarse a MySQL.
  • MYSQL_PASSWORD clave de acceso para conectarse a MySQL.
  • MYSQL_DATABASE nombre de la base de datos que se crea por defecto.

Instalar el ambiente de desarrollo

La instalación se hace en línea de comandos:

docker-compose up -d

Puedes verificar la instalación accediendo a: http://localhost/info.php

Comandos disponibles

Una vez instalado, se pueden utilizar los siguiente comandos:

docker-compose start    # Iniciar el ambiente de desarrollo
docker-compose stop     # Detener el ambiente de desarrollo
docker-compose down     # Detener y eliminar el ambiente de desarrollo.

Estructura de Archivos

  • /docker/ contiene los archivos de configuración de Docker.
  • /www/ carpeta para los archivos PHP del proyecto.

Accesos

Web

Base de datos

Existen dos dominios para conectarse a base de datos.

  • mysql: para conexión desde los archivos PHP.
  • localhost: para conexiones externas al contenedor.

Las credenciales por defecto para la conexión son:

Usuario Clave Base de datos
dbuser dbpass dbname

docker-php-mysql's People

Contributors

kodetop avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-php-mysql's Issues

problema con el parametro php volumes

Buenas tardes

Estoy intentado correr su ejemplo para un docker con php pero tengo el problema en el parametro

volumes: - ./www:

entiendo que la segunda parte sería el lugar donde tengo mi aplicación local para mi ejemplo

/www/docker/prueba

entonces el parametro quedaría
volumes: - ./www:/www/docker/prueba

Al lanzar el docker e intentar ingresar al localhost siempre sale lo siguiente:

docker-php | [Tue Jul 28 21:55:59.186327 2020] [autoindex:error] [pid 16] [client 172.18.0.1:47204] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

Espero me puedan ayudar

Error de conexión mysql

Al realizar la instalación no pude conectar mysql con el contenedor web.
si pude acceder desde fuera del contenedor.

403 Forbidden

Both containers are up but when I tried open localhost I got Forbidden You don't have permission to access this resource.
Screenshot from 2021-11-25 13-43-29

Como instalar la extensión GD en php?

Estoy intentando instalar la extensión GD pero no logro que funcione... 👎

Este es el Dockerfile que intente correr:

ARG php_version

FROM php:${php_version}

RUN docker-php-ext-install mysqli pdo pdo_mysql
RUN apk upgrade --update && apk add \
  coreutils \
  freetype-dev \
  libjpeg-turbo-dev \
  libltdl \
  libmcrypt-dev \
  libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
RUN a2enmod rewrite

Saludos

Corregir usuario de MySQL

Si el usuario es root es posible que no se puedan importar datos automáticamente, recomiendo cambiar el usuario a username.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.