2014-04-20 12 views
7

Ecco il mio piano d'azione:Aggiornamento plugin wordpress all'interno di un contenitore finestra mobile

ho sviluppato un plugin che verrà modificato molto spesso, ho bisogno di creare un'immagine utilizzando finestra mobile in cui installare una nuova versione di wordpress e poi importare tutti i dati e plugin dall'ambiente di sviluppo, (il plug-in è su GitHub)

sono riuscito ad installare wordpress su finestra mobile utilizzando https://github.com/eugeneware/docker-wordpress-nginx

Ora qui sono le mie domande:

1-i C'è un modo per modificare i file e le cartelle wordpress dopo che è stato installato nella finestra mobile (per installare plugin e utilizzare la riga di comando, non la GUI wordpress)

2-Se voglio ottenere ciò che ho spiegato sopra quale è il migliore flusso di lavoro?

+0

In generale, è necessario utilizzare [volumi docker] (https://docs.docker.com/userguide/dockervolumes/). Clonazione di wordpress sul computer host ed eseguire l'immagine con '--volume/dir/where/wp/is/on/host:/usr/share/nginx/www' –

risposta

5

Due possibili risposte al tuo problema. Sto lottando anche con questo ora, quindi YMMV.

In primo luogo, se si sta eseguendo il contenitore Docker sul vostro host, si può sempre mettere in pausa docker pause, creare una nuova immagine dal contenitore in esecuzione docker commit, quindi spingerla a un repository privato docker push (un Wordpress vivo installazione è probabilmente non appropriato per il Docker Hub pubblico). Una volta fatto, puoi riprendere il contenitore docker unpause e quindi puoi aggiornare l'immagine sul tuo sistema di sviluppo. Quindi torna indietro una volta che l'aggiornamento è stato eseguito e testato e tutto è a posto, quindi l'immagine è docker pull e riavvia il servizio in modo che utilizzi la nuova immagine.

Non è una soluzione eccezionale, ma funzionerà.

In base al commento di Tadeusz, non eseguirò necessariamente l'intera installazione di WP da un volume di dati. Essi sono volatili e se, per qualsiasi ragione, il vostro contenitore viene eliminato ed è l'unico riferimento al volume di dati, poi si perde tutto (a meno che non si mantiene più backup - si fai mantenere più backup, giusto?)

L'altra soluzione che sto considerando è che le modifiche ai plugin vengano implementate come parte del Dockerfile. Un approccio molto più deliberato, ma può essere un webhook in modo tale da generare automaticamente una nuova immagine Docker quando si esegue il commit sul repository Github. Si discute su come eseguire il processo di creazione automatica here. La fine dell'amministratore del server delle cose sul tuo hosting di fine avrà bisogno di tirare una nuova immagine come ho menzionato sopra. E fatto.

Ovviamente, l'impostazione è lasciata come esercizio per il proprio sistema di sviluppo.

Cheers!

+1

Qualche idea su come gestire lo stato del database in questo scenario? – Webnet

+0

in realtà potrebbe essere più appropriato montare il wordpress in un volume e quel volume viene estratto da una sorta di repository di codice e ancora meglio invece di mettere in pausa il contenitore è meglio crearne uno nuovo, con il volume udpate e distruggere quello vecchio. – Raffaello