Comment configurer Docker pour le développement et le déploiement d'un thème personnalisé?

12

Je commence à utiliser Docker et je suis encore novice dans les pratiques de développement professionnel WordPress. Je souhaite configurer un environnement de développement Docker (sur mon Mac) afin de pouvoir créer un développement de thème WordPress personnalisé.

En supposant que vous ayez déjà fait cela et que vous utilisiez déjà Docker, comment l'avez-vous mis en place? À quoi ressemblent vos fichiers Dockerfile et docker-compose.yml? Je suis sûr que cela a déjà été fait. Je ne serais pas surpris s'il y a déjà une commande d'une ligne qui peut configurer ceci pour vous.

Mise à jour: j'ai réduit le sujet à la question suivante:

Comment configurer Docker pour le développement et le déploiement d'un thème personnalisé?

    
posée Andrew 05.05.2015 - 09:59

2 réponses

7

Je vais publier une réponse partielle au début de la discussion dans l’espoir d’obtenir quelques commentaires utiles afin de compléter les blancs ou d’autres réponses ...

Étape 1: Installez et configurez boot2docker

Docker ne fonctionne que sous Linux. Donc, pour utiliser Docker sur notre Mac, nous devons installer boot2docker , qui exécutera Docker sur une machine virtuelle Linux. Vous pouvez installer boot2docker en utilisant Homebrew :

brew install boot2docker

Une fois l'installation terminée, configurez et démarrez boot2docker:

boot2docker init
boot2docker start

Ensuite, nous devons exécuter une commande pour configurer certaines variables d'environnement afin que docker-compose sache trouver Docker dans notre machine virtuelle boot2docker.

eval "$(boot2docker shellinit)"

Vous pouvez ajouter les lignes qui exportent des variables à votre ~/.bash_profile pour ne pas avoir à exécuter la commande à chaque fois que vous ouvrez une nouvelle fenêtre de terminal.

Étape 2: installez docker-compose

Il existe un plugin Docker appelé docker-compose (appelé à l’origine fig ) qui facilite la définition de la relation entre vos conteneurs Docker. Vous pouvez également l'installer avec Homebrew:

brew install docker-compose

Étape 3: créez un fichier docker-compose.yml

Il existe une image officielle de WordPress Docker dans le registre Docker. Il contient des informations sur le démarrage manuel de Docker avec tous les indicateurs de ligne de commande nécessaires pour que tout fonctionne. Autant que je sache, vous pouvez ignorer tout cela car nous allons utiliser docker-compose . Dans le répertoire dans lequel vous travaillerez sur votre thème WordPress, créez un docker-compose.yml avec le contenu suivant:

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 configuration volumes relie nos fichiers de thème de notre répertoire actuel à un nouveau répertoire de thème à l'intérieur du conteneur Docker.

Étape 4: démarrez les conteneurs

Exécutez docker-compose up et vous configurerez deux conteneurs Docker ("wordpress" et "db") exécutant une installation de WordPress.

Étape 5: ouvrez le site dans le navigateur

Notre configuration docker-compose.yml a indiqué que nous transférions le port 80 au port 8080. De plus, boot2docker exécute sa machine virtuelle sur une adresse IP spécifique. Ainsi, pour comprendre l'URL, nous devons utiliser la commande boot2docker ip :

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

Questions

Maintenant que les conteneurs sont opérationnels, j'ai quelques questions à vous poser ...

  1. Existe-t-il un moyen automatisé de configurer les variables d'environnement boot2docker, autre que copier et coller les exportations répertoriées dans boot2docker shellinit ?

  2. Lorsque je travaille sur une application Rails, j'aime utiliser Pow pour pouvoir accéder à l'application à l'aide d'un nom .dev domaine au lieu de travailler avec des ports / IP spécifiques. Comment puis-je configurer mon système (ou Pow) afin que je puisse accéder à l'hôte à l'aide de enlace ?

  3. Y a-t-il des étapes que j'ai manquées? Ou y a-t-il des étapes à ajouter à la fin?

réponse donnée Andrew 06.05.2015 - 10:05
0

Ma solution préférée consiste à utiliser Composer en association avec Docker. Docker gère l'environnement, Composer gère les dépendances, ce qui inclut les thèmes, les plug-ins et tous les autres packages dont j'ai besoin.

Voici ma propre configuration Docker locale:

enlace

Et voici une branche qui utilise Composer pour télécharger le thème _s et le placer dans mon répertoire themes :

enlace

    
réponse donnée Alex MacArthur 03.06.2018 - 04:42

Lire d'autres questions sur les étiquettes