Yii e Docker
Para o desenvolvimento e implantação de aplicativos Yii, eles podem ser executados como contêineres Docker. Um contêiner é como uma máquina virtual isolada e leve que mapeia seus serviços para as portas do host, ou seja, um servidor da web em um contêiner na porta 80 está disponível na porta 8888 do seu (local) host.
Os contêineres podem resolver muitos problemas, como ter versões idênticas de software no computador do desenvolvedor e no servidor, implantações rápidas ou simulação de arquitetura multi-servidor durante o desenvolvimento.
Você pode ler mais sobre contêineres Docker em docker.com.
Requisitos
Seção intitulada “Requisitos”dockerdocker-compose
Visite a página de download para obter as ferramentas do Docker.
Instalação
Seção intitulada “Instalação”Após a instalação, você deve ser capaz de executar o comando docker ps e ver uma saída semelhante a esta:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTSIsso significa que o seu daemon Docker está em execução.
Além disso, execute o comando docker-compose version, a saída deve ser semelhante a esta:
docker-compose version 1.20.0, build unknowndocker-py version: 3.1.3CPython version: 3.6.4OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017Com o Compose, você pode configurar e gerenciar todos os serviços necessários para a sua aplicação, como bancos de dados e cache.
Recursos
Seção intitulada “Recursos”- As imagens base do PHP para Yii podem ser encontradas em yii2-docker
- Suporte do Docker para yii2-app-basic
- Suporte do Docker para yii2-app-advanced está em desenvolvimento
Os comandos básicos do Docker são
docker-compose up -dpara iniciar todos os serviços em sua pilha, em segundo plano
docker-compose pspara listar os serviços em execução
docker-compose logs -fpara visualizar os logs de todos os serviços continuamente
docker-compose stoppara interromper todos os serviços em sua pilha de forma elegante
docker-compose killpara interromper todos os serviços em sua pilha imediatamente
docker-compose down -vpara parar e remover todos os serviços, atenção à perda de dados ao não usar volumes do host
Para executar comandos em um contêiner:
docker-compose run --rm php composer installexecuta a instalação do Composer em um novo contêiner
docker-compose exec php bashexecuta um shell bash em um serviço php que está em execução.
Tópicos avançados
Seção intitulada “Tópicos avançados”Testes do framework Yii
Seção intitulada “Testes do framework Yii”Você pode executar os testes do framework Yii em um contêiner Docker, conforme descrito aqui.
Database administration tools
Seção intitulada “Database administration tools”Ao executar o MySQL como (mysql), você pode adicionar um contêiner do phpMyAdmin à sua pilha, como mostrado abaixo:
phpmyadmin: image: phpmyadmin/phpmyadmin ports: - '8888:80' environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql depends_on: - mysql