Sign inSign up

alternativasinteligentes/php74-aisa

By alternativasinteligentes

•Updated almost 4 years ago

Docker PHP base image with: - Apache - Php 7.4 - Php Basics Extensions - Composer

Image
0

3.5K

alternativasinteligentes/php74-aisa repository overview

⁠Alternativas Inteligentes Docker Images

Tabla de contenidos:

NombreContenidoDescripcion
php74-aisa⁠Apache + Php74 + composer + Basic ExtensionsPara montar apps php puro o basados en yii/laravel

⁠ php74-aisa⁠

Esta imagen contiene Apache y php 7.4 con las extensiones basicas mas utilizadas. Ademas contiene composer, por lo que dentro del contenedor se puede correr comandos de composer.

La app PHP corre sobre Apache en el puerto 80. Puedes exponer este puerto si no lo usas en tu host o mapear con otro puerto.

⁠Ejemplo de uso:

Para este ejemplo, nuestra app php se llamara "app". Crea una carpeta vacia y dentro un archivo docker-compose.yml con el siguiente contenido:

version: '3.5'
services:

  app:
    image: alternativasinteligentes/php74-aisa:latest
    container_name: app
    ports:
      - 8080:80
    volumes:
      - ./html:/var/www/html

Crea la carpeta con nombre "html" al mismo nivel de tu archivo docker-compose.yml y copia el contenido de tu proyecto (desde la raiz de tu proyecto a dentro de html). Si quieres crear un proyecto desde cero, puedes saltearte este paso ya que docker-compose si no existe la carpeta la creara por ti

Ejecuta el siguiente comando para iniciar el contenedor:

docker-compose up -d

Si necesias instalar dependencias de composer: Luego que el contenedor este ejecutandose, corre:

docker exec -it app composer install

Si quieres crear un subproyecto con composer:

docker exec -it app composer create-project laravel/laravel laravel-app

Accede al subproyecto en tu navegador: http://localhost:8080/laravel-app/public⁠

Para correr comandos artisan o composer en tu subproyecto, especifica el path absoluto con --workdir:

docker exec -it --workdir /var/www/html/laravel-app app php artisan migrate

En el ejemplo anterior, recuerda configurar en tu archivo .env DB_HOST con el nombre del servicio de mysql y los datos de acceso que configuraste en docker-compose o lo que hayas creado mediante phpmyadmin.

Puedes asociar una base de datos de esta forma:

...
  mysql:
    image: mysql:latest
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
      - ./mysql/datadir:/var/lib/mysql
      - ./mysql/config/my.cnf:/etc/mysql/conf.d/override-config.cnf
      - ./mysql/logs:/var/log/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_PASSWORD=password
      - MYSQL_USER=test
      - MYSQL_DATABASE=mi_db

  phpmyadmin:
    container_name: phpmyadmin
    image: phpmyadmin
    restart: always
    ports:
      - 8081:80
    environment:
      - PMA_ARBITRARY=0
      - PMA_HOST=mysql
...

Configura la cadena de conexion de tu archivo de variable de entorno utilizando el nombre de host del contenedor mysql (en el ejemplo se llama "mysql") y los datos de usuario y contraseƱa que seteaste al servicio de mysql

Para aplicar migraciones, una vez que los contenedores esten iniciados y hayas configurado tus archivos de entorno, ejecuta por ej.:

docker exec -it app php yii migrate

Si necesitas reiniciar el contenedor:

docker restart app

Para conectarte por ssh al contenedor de tu app, ejecuta en tu terminal:

docker exec -it app /bin/bash

Tag summary

Content type

Image

Digest

sha256:ce168fe34…

Size

246.2 MB

Last updated

about 4 years ago

docker pull alternativasinteligentes/php74-aisa