¿Cómo puedo configurar Docker para desarrollar e implementar un tema personalizado?

12

Estoy empezando con Docker y todavía soy nuevo en las prácticas de desarrollo profesional de WordPress. Me gustaría configurar un entorno de desarrollo Docker (en mi Mac) para poder realizar el desarrollo del tema de WordPress personalizado.

Suponiendo que haya hecho esto antes y ya esté utilizando Docker, ¿cómo lo configuró? ¿Qué aspecto tienen su Dockerfile y docker-compose.yml? Estoy seguro de que esto se ha hecho antes. No me sorprendería si ya hay un comando de una línea que puede configurarlo por usted.

Actualización: he reducido este tema a la siguiente pregunta:

¿Cómo puedo configurar Docker para desarrollar e implementar un tema personalizado?

    
pregunta Andrew 05.05.2015 - 09:59

2 respuestas

7

Voy a publicar una respuesta parcial para comenzar la discusión con la esperanza de obtener algunos comentarios útiles para completar los espacios en blanco o respuestas alternativas ...

Paso 1: instalar y configurar boot2docker

Docker solo se ejecuta en Linux. Entonces, para usar Docker en nuestra Mac, necesitamos instalar boot2docker , que ejecutará Docker en una máquina virtual de Linux. Puedes instalar boot2docker usando Homebrew :

brew install boot2docker

Una vez que haya finalizado la instalación, configure e inicie boot2docker:

boot2docker init
boot2docker start

A continuación, debemos ejecutar un comando para configurar algunas variables de entorno para que docker-compose sepa cómo encontrar Docker dentro de nuestra máquina virtual boot2docker.

eval "$(boot2docker shellinit)"

Es posible que desee agregar las líneas que exportan variables a su ~/.bash_profile para que no tenga que ejecutar el comando cada vez que abra una nueva ventana de terminal.

Paso 2: instalar docker-compose

Hay un complemento de Docker llamado docker-compose (originalmente llamado fig ) que hace que sea realmente fácil definir la relación entre sus contenedores de Docker. También puedes instalarlo usando Homebrew:

brew install docker-compose

Paso 3: crear docker-compose.yml

Hay una imagen oficial de WordPress Docker en el registro de Docker. Incluye información sobre cómo iniciar manualmente Docker con todos los indicadores de línea de comandos necesarios para que todo funcione. Por lo que sé, puede omitir todo eso porque usaremos docker-compose . En el directorio donde trabajará en su tema de WordPress, cree un docker-compose.yml con el siguiente contenido:

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 configuración volumes vincula nuestros archivos de tema en nuestro directorio actual a un nuevo directorio de tema dentro del contenedor Docker.

Paso 4: Inicia los contenedores

Ejecute docker-compose up y configurará dos contenedores Docker ("wordpress" y "db") ejecutando una instalación de WordPress.

Paso 5: abre el sitio en el navegador

Nuestra configuración docker-compose.yml especificó que estamos reenviando el puerto 80 al puerto 8080. Además, boot2docker ejecuta su VM en una dirección IP específica. Por lo tanto, para descubrir la URL, necesitamos usar el comando boot2docker ip :

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

Preguntas

Ahora que tengo los contenedores en funcionamiento, tengo algunas preguntas ...

  1. ¿Existe una forma automatizada de configurar las variables de entorno boot2docker, aparte de copiar y pegar las exportaciones enumeradas en boot2docker shellinit ?

  2. Cuando estoy trabajando en una aplicación Rails, me gusta usar Pow para poder acceder a la aplicación usando un nombre .dev domain en lugar de trabajar con puertos / IP específicos. ¿Cómo puedo configurar mi sistema (o Pow) para poder acceder al host mediante enlace ?

  3. ¿Hay algún paso que haya omitido? ¿O hay algún paso que deba agregarse al final?

respondido por el Andrew 06.05.2015 - 10:05
0

Mi solución preferida para esto es usar Composer en combinación con Docker. Docker maneja el entorno, Composer maneja las dependencias, que incluye temas, complementos y cualquier otro paquete que pueda necesitar.

Aquí está mi propia configuración local de Docker:

enlace

Y aquí hay una rama que usa Composer para descargar el tema _s y colocarlo en mi directorio themes :

enlace

    
respondido por el Alex MacArthur 03.06.2018 - 04:42

Lea otras preguntas en las etiquetas