neste reposit\u00f3rio do GitHub<\/a>. \u00c9 uma imagem que eu fiz h\u00e1 bastante tempo, mas que tem algumas diferen\u00e7as da imagem oficial do WordPress que eu julguei importantes na \u00e9poca. Al\u00e9m de corrigir um erro bem chatinho no mapeamento de usu\u00e1rios entre o cont\u00eainer e o seu computador, ela tamb\u00e9m inclui WP-CLI, XDebug, possibilidade de uso do MailHog e ainda conex\u00e3o HTTPS. N\u00e3o \u00e9 nenhuma oitava maravilha do mundo, mas me serviu bem durante muito tempo.<\/p>\n\n\n\nPara usar o XDebug no VS Code, por exemplo, voc\u00ea precisa retirar os coment\u00e1rios no docker-compose.yml<\/code> e inserir estas linhas no settings.json<\/code> do VS Code:<\/p>\n\n\n\n\"launch\": {\n\t\"version\": \"0.2.0\",\n\t\"configurations\": [\n\t\t{\n\t\t\t\"name\": \"XDebug (docker)\",\n\t\t\t\"type\": \"php\",\n\t\t\t\"request\": \"launch\",\n\t\t\t\"port\": 9000,\n\t\t\t\"pathMappings\": {\n\t\t\t\t\"\/var\/www\/html\/\": \"${workspaceRoot}\/dev\",\n\t\t\t},\n\t\t\t\"xdebugSettings\": {\n\t\t\t\t\"max_children\": 999,\n\t\t\t}\n\t\t},\n\t],\n\t\"compounds\": []\n}<\/code><\/pre>\n\n\n\nCont\u00eainer mysql<\/em><\/h3>\n\n\n\nEmbora o nome do cont\u00eainer seja esse, na verdade ele usa a imagem do MariaDB.<\/em> \u00c9 bem similar ao cont\u00eainer que usamos na parte 1.<\/p>\n\n\n\nCont\u00eainer mailhog<\/em><\/h3>\n\n\n\nEste cont\u00eainer receber\u00e1 todos os e-mails disparados pelo WordPress. Para v\u00ea-los basta acessar localhost:8025<\/code>.<\/p>\n\n\n\nCont\u00eainer phpmyadmin<\/em><\/h3>\n\n\n\nEsta era uma das principais ferramentas que faltavam no nosso outro ambiente. Para acess\u00e1-la basta acessar localhost:8080<\/code>.<\/p>\n\n\n\nCont\u00eainer node<\/em><\/h3>\n\n\n\nEste cont\u00eainer pode ser \u00fatil caso o seu tema (ou algum plugin) precise de algo mais complexo com node<\/em>. Se voc\u00ea estiver com uma equipe de programadores mais voltados para o back-end e n\u00e3o quer que eles percam tempo configurando node<\/em>, este cont\u00eainer pode ser uma op\u00e7\u00e3o para ganhar tempo. N\u00e3o se esque\u00e7a de ajustar o endere\u00e7o do volume.<\/p>\n\n\n\nGerenciamento do banco de dados<\/h2>\n\n\n\n
Como eu disse l\u00e1 em cima, versionar a pasta com os arquivos do MySQL n\u00e3o \u00e9 uma op\u00e7\u00e3o. Eles mudam demais e isso gera um aumento absurdo no tamanho do seu reposit\u00f3rio. Voc\u00ea est\u00e1 versionando seus projetos, certo?<\/p>\n\n\n\n
A ideia aqui \u00e9 ter sempre no reposit\u00f3rio um arquivo bd\/prod.sql.gz<\/code> e outro bd\/dev.sql.gz<\/code>. O primeiro cont\u00e9m os dados do site em produ\u00e7\u00e3o e o segundo \u00e9 a vers\u00e3o mais recente (e mais \u00fatil) do ambiente de desenvolvimento. Supondo, por exemplo, que voc\u00ea instalou e configurou um plugin no seu ambiente local, voc\u00ea pode compartilhar isso com os colegas atualizando o arquivo bd\/dev.sql.gz<\/code>.<\/p>\n\n\n\n