Para elevar rápidamente el ambiente de trabajo, hay muchas maneras. Una de ellas es aumentar todos los servicios necesarios en los contenedores Docker. Para acelerar la creación de nuevos proyectos en el marco Yii, escribí una instrucción tan pequeña que utilizan los desarrolladores de nuestro equipo.
Al principio, debe tener docker, docker-compose, php y php-composer.
Creamos la carpeta con el proyecto y la carpeta acoplable en él.
mkdir project-dir cd project-dir && mkdir docker
En la carpeta docker , cree el archivo de configuración para nuestro contenedor Dockerfile .
# nginx php FROM richarvey/nginx-php-fpm # ADD app /var/www/app # RUN rm -Rf /etc/nginx/sites-enabled
En la misma carpeta docker , cree docker-compose.yml para elevar el entorno de desarrollo.
# docker-compose version: '3' # deafult networks: default: driver: bridge # services: # - app: # Dockerfile build: # context: ../ dockerfile: ./docker/Dockerfile # 80 ports: - "80:80" # networks: - default # db depends_on: - db # volumes: - "../app:/var/www/app" # nginx - "./conf/nginx:/etc/nginx/sites-available" # db: image: mysql:latest # networks: - default # ports: - "3336:3306" # environment: # MYSQL_ROOT_PASSWORD: root # MYSQL_DATABASE: yii-template-db # volumes: - "./database:/var/lib/mysql"
Para nginx, cree la carpeta docker / conf / nginx y el archivo site.conf en ella. El archivo puede cambiar, dependiendo de cómo desee configurar nginx en su proyecto. Se puede cambiar localmente, porque Se conecta a través del volumen. Pero no debemos olvidar reiniciar nginx dentro del contenedor: nginx -s reload
server { charset utf-8; client_max_body_size 128M; listen 80;
Todos los comandos se ejecutan desde la carpeta raíz.
composer create-project --prefer-dist yiisoft/yii2-app-advanced app
comando de creación de composer create-project --prefer-dist yiisoft/yii2-app-advanced app
.- Ejecute el
docker-compose -f docker/docker-compose.yml up -d
- Inicializamos la
app/init --env=Development --overwrite=All
del proyecto app/init --env=Development --overwrite=All
- Abra el archivo app / common / config / main-local.php en el editor y complételo con datos para conectarse a la base de datos. En el ejemplo, tenemos la contraseña de root como root, el host de DB es db, el nombre de la base de datos es yii-template-db.
- Conectando al contenedor
docker exec -it docker_app_1 bash
- Ejecute el comando de migración de base de datos
php /var/www/app/yii migrate
- Cree una carpeta de registro
mkdir /var/www/app/log
- Y
exit
docker-compose -f docker/docker-compose.yml down
servicio docker-compose -f docker/docker-compose.yml down
- Ejecútelo de nuevo
docker-compose -f docker/docker-compose.yml up -d
- Abra localhost en un navegador y mire el nuevo sitio.
Upd: Vale la pena mencionar que siempre hay una imagen oficial de Docker de Yii2 .