Como posso configurar o Docker para desenvolver e implantar um tema personalizado?


12

Estou começando com o Docker e ainda sou novo nas práticas profissionais de desenvolvimento do WordPress. Gostaria de configurar um ambiente de desenvolvimento do Docker (no meu Mac) para que eu possa fazer o desenvolvimento personalizado do tema WordPress.

Supondo que você já tenha feito isso antes e já esteja usando o Docker, como você configurou isso? Como é o seu Dockerfile e o docker-compose.yml? Tenho certeza que isso já foi feito antes. Eu não ficaria surpreso se já houver um comando de uma linha que possa configurar isso para você.

Atualização: reduzi este tópico à seguinte pergunta:

Como posso configurar o Docker para desenvolver e implantar um tema personalizado?


Eu apenas tive que excluir duas respostas apenas de link. Como sua pergunta tem 8 votos positivos, você se importaria em reduzi-la a uma pergunta que seja solucionável?
— Kaiser #

O @kaiser "Desenvolvimento profissional do WordPress" não está muito bem documentado, muitas pessoas (inclusive eu) estão tentando aprender a trabalhar com o WordPress de maneira profissional para desenvolver e implantar temas personalizados do WordPress. O uso do Docker ajuda a criar um ambiente que espelha o ambiente de produção, mas também é um novo território, então eu gostaria de saber como as pessoas estão incorporando o Docker ao fluxo de trabalho de desenvolvimento do WordPress.
— Andrew

Andrew, dê uma olhada neste texto para ver que tipo de perguntas mantemos em aberto neste site. Tal como está, sua pergunta é muito subjetiva, aberta e atrai apenas opiniões baseadas ou vincula apenas respostas. Por favor, mude isso, caso contrário, teremos que fechar a pergunta. Obrigado.
— Kaiser #

@ Kaiser Ok, eu fiz a minha melhor tentativa de mudar isso para ser uma pergunta mais focada.
— Andrew

Respostas:


7

Vou postar uma resposta parcial para iniciar a discussão, na esperança de obter alguns comentários úteis para preencher os espaços em branco ou respostas alternativas ...

Etapa 1: Instalar e configurar o boot2docker

O Docker é executado apenas no Linux. Portanto, para usar o Docker em nosso Mac, precisamos instalar boot2docker, o que executará o Docker em uma VM Linux. Você pode instalar boot2dockerusando o Homebrew :

brew install boot2docker

Depois de concluir a instalação, configure e inicie o boot2docker:

boot2docker init
boot2docker start

Em seguida, precisamos executar um comando para configurar algumas variáveis ​​de ambiente para que o docker-compose saiba como encontrar o Docker dentro da VM do boot2docker.

eval "$(boot2docker shellinit)"

Você pode querer adicionar as linhas que exportam variáveis ​​ao seu, ~/.bash_profilepara não precisar executar o comando toda vez que abrir uma nova janela do terminal.

Etapa 2: Instalar docker-compose

Existe um plug-in do Docker chamado docker-compose(originalmente chamado fig) que facilita muito a definição do relacionamento entre seus contêineres do Docker. Você também pode instalá-lo usando o Homebrew:

brew install docker-compose

Etapa 3: Criar docker-compose.yml

Há uma imagem oficial do WordPress Docker no registro do Docker. Ele inclui algumas informações sobre a inicialização manual do Docker com todos os sinalizadores de linha de comando necessários para que tudo funcione. Até onde eu sei, você pode pular tudo isso porque usaremos docker-compose. No diretório em que você trabalhará no seu tema WordPress, crie um docker-compose.ymlcom o seguinte conteúdo:

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80
  volumes:
    - .:/var/www/html/wp-content/themes/my-theme-name

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example

A volumesconfiguração vincula nossos arquivos de temas em nosso diretório atual a um novo diretório de temas dentro do contêiner do Docker.

Etapa 4: iniciar os contêineres

Corre docker-compose up e você configurará dois contêineres do Docker ("wordpress" e "db") executando uma instalação do WordPress.

Etapa 5: abrir o site no navegador

Nossa docker-compose.ymlconfiguração especificava que estamos encaminhando a porta 80 para a porta 8080. Além disso, boot2dockerexecuta sua VM em um endereço IP específico. Assim, para descobrir a URL, precisamos usar o boot2docker ipcomando:

open http://$(boot2docker ip):8080

Questões

Agora que tenho os contêineres em funcionamento, tenho algumas perguntas ...

  1. Existe uma maneira automatizada de configurar as variáveis ​​de ambiente do boot2docker, além de copiar e colar as exportações listadas em boot2docker shellinit?

  2. Quando estou trabalhando em um aplicativo Rails, gosto de usar o Pow para poder acessar o aplicativo usando um .devdomínio nomeado, em vez de trabalhar com portas / IPs específicos. Como posso configurar meu sistema (ou Pow) para acessar o host usando o http://mysite.dev ?

  3. Há algumas etapas que eu perdi? Ou existem etapas que devem ser adicionadas ao final?


Para sua segunda pergunta. Você pode experimentar o proxy docker nginx: github.com/jwilder/nginx-proxy .
— Zhe Li

0

Minha solução preferida para isso é usar o Composer em combinação com o Docker. O Docker lida com o ambiente, o Composer lida com as dependências, que incluem temas, plugins e quaisquer outros pacotes que eu possa precisar.

Aqui está minha própria configuração local do Docker:

https://github.com/alexmacarthur/wp-skateboard

E aqui está um ramo que usa o Composer para baixar o tema _s e colocá-lo no meu themesdiretório:

https://github.com/alexmacarthur/wp-skateboard/tree/starter-theme-underscores

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.