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. Eu gostaria de configurar um ambiente de desenvolvimento Docker (no meu Mac) para que eu possa fazer o desenvolvimento do tema personalizado WordPress.

Supondo que você tenha feito isso antes e já esteja usando o Docker, como você configurou isso? Como é o Dockerfile e o docker-compose.yml? Tenho certeza de 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: reduzo esse tópico à seguinte pergunta:

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

    
por Andrew 05.05.2015 / 09:59

2 respostas

7

Vou postar uma resposta parcial para iniciar a discussão na esperança de obter alguns comentários úteis para preencher as lacunas ou respostas alternativas ...

Passo 1: Instale e configure o boot2docker

O Docker é executado apenas no Linux. Portanto, para usar o Docker em nosso Mac, precisamos instalar o boot2docker , que executará o Docker em uma VM Linux. Você pode instalar o boot2docker usando 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 de nossa VM boot2docker.

eval "$(boot2docker shellinit)"

Você pode querer adicionar as linhas que exportam variáveis ao seu ~/.bash_profile , para que você não precise executar o comando toda vez que abrir uma nova janela de terminal.

Etapa 2: instalar o docker-compose

Existe um plugin do Docker chamado docker-compose (originalmente chamado de fig ), o que torna muito fácil definir o relacionamento entre os contêineres do Docker. Você também pode instalá-lo usando o Homebrew:

brew install docker-compose

Etapa 3: criar o docker-compose.yml

Há uma imagem oficial do WordPress Docker no registro do Docker. Ele inclui algumas informações sobre como iniciar manualmente o Docker com todos os sinalizadores de linha de comando necessários para que tudo funcione. Tanto quanto eu posso dizer, você pode pular tudo isso porque nós estaremos usando docker-compose . No diretório onde você estará trabalhando em seu tema WordPress, crie um docker-compose.yml com 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 configuração volumes vincula nossos arquivos de tema em nosso diretório atual a um novo diretório de tema dentro do contêiner Docker.

Etapa 4: inicie os contêineres

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

Etapa 5: abra o site no navegador

Nossa configuração de docker-compose.yml especificou que estamos encaminhando a porta 80 para a porta 8080. Além disso, boot2docker executa sua VM em um endereço IP específico. Assim, para descobrir a URL, precisamos usar o comando boot2docker ip :

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

Perguntas

Agora que tenho os contêineres funcionando, 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 que eu possa acessar o aplicativo usando um nome .dev domain em vez de trabalhar com portas / IPs específicos. Como posso configurar meu sistema (ou Pow) para que eu possa acessar o host usando enlace ?

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

por Andrew 06.05.2015 / 10:05
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, o que inclui temas, plugins e quaisquer outros pacotes que eu possa precisar.

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

enlace

E aqui está uma ramificação que usa o Composer para baixar o tema _s e colocá-lo no meu diretório themes :

enlace

    
por Alex MacArthur 03.06.2018 / 04:42