web-dev-qa-db-fra.com

Développement WordPress avec Docker - Comment partager des répertoires?

J'utilise normalement vagant (saveur VVV ou substratum rocheux) pour le développement local de WordPress.

Mais je veux apprendre à utiliser Docker.

Je l'ai installé avec Boot2Docker, lancé Docker et appris à extraire des images ou même à démarrer un conteneur Nginx WordPress qui a répondu avec succès sur mon ordinateur hôte local via http. Les docs de Docker m'ont aidé avec tout ça.

Mon problème est le suivant: je n’ai pas compris comment créer des conteneurs pour WordPress avec une configuration spécifique (je préfère le LEMP, il se peut que je veuille expérimenter ultérieurement avec HHVM) et partager le contenu d’un conteneur avec ma machine hôte locale. développement actuel.

Je ne trouve pas où Docker stocke les fichiers. Avec Vagrant, c'est plus simple ... Et aussi, je stocke mes projets dans un répertoire Dropbox - ce qui me permet une sauvegarde et une synchronisation supplémentaires au cas où je souhaiterais accéder à mes fichiers locaux ailleurs. Voudrais réaliser la même chose avec Docker.

Quelqu'un at-il écrit un tutoriel pour cela? Ou pourriez-vous indiquer un document qui me manquait?

À partir d'ici https://docs.docker.com/userguide/dockervolumes/ J'ai lu cela

Remarque: Si vous utilisez Boot2Docker, votre démon Docker n'a qu'un accès limité à votre système de fichiers OSX/Windows. Boot2Docker essaie de partager automatiquement votre répertoire/Users (OSX) ou C:\Users (Windows) - et vous pouvez donc monter des fichiers ou des répertoires à l'aide de docker run -v/Users /:/... (OSX) ou de docker run - v/c/Utilisateurs /: /

Sur le fichier readme de github Boot2Docker, j'ai trouvé à la place: https://github.com/boot2docker/boot2docker#folder-sharing

Mais cela ne résout pas le problème. Il semble que ce soit en lecture seule? Mais à part cela, j'aimerais partager un répertoire dans Dropbox, par exemple./dropbox/docker avec mes projets/conteneurs Docker - un peu comme je le fais avec Vagrant. Un moyen d'y parvenir?

Je vous remercie

2
unfulvio

J'ai écrit un bref tutoriel dans cette autre réponse qui va un peu plus en détail, mais je pense que vous voulez utiliser docker-compose pour définir les répertoires (volumes) que vous souhaitez partager entre votre environnement local et l'environnement du conteneur. . Il peut y avoir un moyen de faire cela directement avec Docker, mais je pense que docker-compose est un outil utile pour cela.

Exemple de fichier docker-compose.yml:

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
1
Andrew