Para aumentar rapidamente o ambiente de trabalho, existem várias maneiras. Uma delas é elevar todos os serviços necessários em contêineres do Docker. Para acelerar a criação de novos projetos na estrutura Yii, escrevi uma instrução tão pequena que os desenvolvedores de nossa equipe usam.
No início, você deve ter docker, docker-compose, php e php-compositer.
Criamos a pasta com o projeto e a pasta docker .
mkdir project-dir cd project-dir && mkdir docker
Na pasta docker , crie o arquivo de configuração para o contêiner Dockerfile .
# nginx php FROM richarvey/nginx-php-fpm # ADD app /var/www/app # RUN rm -Rf /etc/nginx/sites-enabled
Na mesma pasta docker , crie docker-compose.yml para aumentar o ambiente de desenvolvimento.
# 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 o nginx, crie a pasta docker / conf / nginx e o arquivo site.conf . O arquivo pode mudar, dependendo de como você deseja configurar o nginx no seu projeto. Pode ser alterado localmente, porque Ele se conecta através do volume. Mas não devemos esquecer de reiniciar o nginx dentro do contêiner: nginx -s reload
server { charset utf-8; client_max_body_size 128M; listen 80;
Todos os comandos são executados a partir da pasta raiz.
composer create-project --prefer-dist yiisoft/yii2-app-advanced app
comando de criação de composer create-project --prefer-dist yiisoft/yii2-app-advanced app
.- Execute o ambiente
docker-compose -f docker/docker-compose.yml up -d
- Inicializamos o projeto
app/init --env=Development --overwrite=All
- Abra o arquivo app / common / config / main-local.php no editor e preencha-o com dados para conectar-se ao banco de dados. No exemplo, temos a senha raiz como raiz, o host do banco de dados é db, o nome do banco de dados é yii-template-db.
- Conectando-se ao contêiner do
docker exec -it docker_app_1 bash
- Execute o comando de migração de banco de dados
php /var/www/app/yii migrate
- Crie uma pasta de log
mkdir /var/www/app/log
- E
exit
- Nós travamos o serviço
docker-compose -f docker/docker-compose.yml down
- Execute-o novamente
docker-compose -f docker/docker-compose.yml up -d
- Abra o host local em um navegador e veja o novo site.
Upd: vale ressaltar que sempre existe uma imagem oficial do Yii2 no Docker .