Come posso configurare Docker per lo sviluppo e la distribuzione di un tema personalizzato?


12

Sto iniziando con Docker e sono ancora nuovo alle pratiche di sviluppo professionale di WordPress. Vorrei impostare un ambiente di sviluppo Docker (sul mio Mac) in modo da poter realizzare lo sviluppo di temi WordPress personalizzati.

Supponendo di averlo già fatto e di aver già utilizzato Docker, come è stato impostato? Che aspetto hanno Dockerfile e docker-compose.yml? Sono sicuro che questo è già stato fatto. Non sarei sorpreso se c'è già un comando a una riga che può configurarlo per te.

Aggiornamento: ho ristretto questo argomento alla seguente domanda:

Come posso configurare Docker per lo sviluppo e la distribuzione di un tema personalizzato?


Ho dovuto solo cancellare due risposte solo link. Dato che la tua domanda ha 8 voti, ti dispiacerebbe restringerla a una domanda che è risolvibile?
Kaiser

@kaiser "Sviluppo di WordPress professionale" non è ben documentato, quindi molte persone (incluso me stesso) stanno cercando di imparare a lavorare con WordPress in modo professionale per sviluppare e distribuire temi personalizzati di WordPress. L'uso di Docker aiuta a creare un ambiente che rispecchia l'ambiente di produzione, ma è anche un nuovo territorio, quindi mi piacerebbe sapere come le persone stanno incorporando Docker nel loro flusso di lavoro di sviluppo di WordPress.
Andrew

Andrew, per favore dai un'occhiata a questo testo per vedere che tipo di domande teniamo aperte su questo sito. Allo stato attuale, la tua domanda è molto soggettiva, aperta e attira solo opinioni basate sull'opinione o collega solo risposte. Per favore cambialo, altrimenti dovremo chiudere la domanda. Grazie.
Kaiser

@kaiser Va bene, ho fatto del mio meglio per cambiarlo in modo che fosse una domanda più mirata.
Andrew

Risposte:


7

Pubblicherò una risposta parziale per iniziare la discussione nella speranza di ottenere alcuni commenti utili per riempire gli spazi vuoti o risposte alternative ...

Passaggio 1: Installa e configura boot2docker

Docker funziona solo su Linux. Quindi, per usare Docker sul nostro Mac, dobbiamo installarlo boot2docker, che eseguirà Docker in una VM Linux. Puoi installare boot2dockerusando Homebrew :

brew install boot2docker

Al termine dell'installazione, imposta e avvia boot2docker:

boot2docker init
boot2docker start

Successivamente, dobbiamo eseguire un comando per impostare alcune variabili di ambiente in modo che docker-compose sappia di trovare Docker nella nostra VM boot2docker.

eval "$(boot2docker shellinit)"

È possibile che si desideri aggiungere le righe che esportano le variabili in ~/.bash_profilemodo da non dover eseguire il comando ogni volta che si apre una nuova finestra del terminale.

Passaggio 2: installa docker-compose

Esiste un plug-in Docker chiamato docker-compose(originariamente chiamato fig) che semplifica la definizione della relazione tra i contenitori Docker. Puoi anche installarlo usando Homebrew:

brew install docker-compose

Passaggio 3: creare docker-compose.yml

C'è un'immagine Docker ufficiale di WordPress nel registro Docker. Include alcune informazioni sull'avvio manuale di Docker con tutti i flag della riga di comando necessari per farlo funzionare. Per quanto ne so, puoi saltare tutto perché useremo docker-compose. Nella directory in cui lavorerai sul tema WordPress, crea un docker-compose.ymlcon i seguenti contenuti:

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

La volumesconfigurazione collega i nostri file di temi nella nostra directory corrente a una nuova directory di temi all'interno del contenitore Docker.

Passaggio 4: avviare i contenitori

Esegui docker-compose upe imposterai due contenitori Docker ("wordpress" e "db") che eseguono un'installazione di WordPress.

Passaggio 5: aprire il sito nel browser

La nostra docker-compose.ymlconfigurazione specifica che stiamo inoltrando la porta 80 alla porta 8080. Inoltre, boot2dockeresegue la sua macchina virtuale su un indirizzo IP specifico. Pertanto, per capire l'URL, dobbiamo usare il boot2docker ipcomando:

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

Domande

Ora che ho i contenitori attivi e funzionanti, ho alcune domande ...

  1. Esiste un modo automatizzato per impostare le variabili di ambiente boot2docker, oltre a copiare e incollare le esportazioni elencate in boot2docker shellinit?

  2. Quando lavoro su un'applicazione Rails, mi piace usare Pow in modo da poter accedere all'app usando un .devdominio denominato invece di lavorare con porte / IP specifici. Come posso configurare il mio sistema (o Pow) in modo da poter accedere all'host usando http://mysite.dev ?

  3. Ci sono dei passi che ho perso? O ci sono dei passaggi che dovrebbero essere aggiunti alla fine?


Per la tua seconda domanda. Puoi provare il proxy nginx docker: github.com/jwilder/nginx-proxy .
Zhe Li,

0

La mia soluzione preferita per questo è usare Composer in combinazione con Docker. Docker gestisce l'ambiente, Composer gestisce le dipendenze, che include temi, plugin e qualsiasi altro pacchetto di cui potrei avere bisogno.

Ecco la mia configurazione Docker locale:

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

Ed ecco un ramo che usa Composer per scaricare il tema _s e inserirlo nella mia themesdirectory:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.