Comment nommer un volume à l'aide d'un menu fixe-composer.fichier yml?
Je suis nouveau sur Docker et j'essaie de trouver comment mettre le nom de la créé volume de données. Actuellement, le répertoire est automatiquement désigné comme un long hachage sous /var/libs/docker qui est loin d'être convivial.
Je suis tente de mettre en place un environnement de développement pour MODX, comme illustré ici:
https://github.com/modxcms/docker-modx
Actuellement mon menu fixe-composer.fichier yml comme suit:
web:
image: modx
links:
- db:mysql
ports:
- 80:80
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- 3306:3306
command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
myadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8080:8080
Cela fonctionne parfaitement mais je ne suis pas sûr de la façon de nommer le volume de données que je voudrais modifier directement avec mon IDE.
(Une question, a-t-elle à être créé dans /var/libs/docker ? Ou est-il un moyen de paramétrer à un répertoire dans mon dossier home?)
Mise à jour:
Grâce à l'aide de @juliano j'ai mis à jour mon menu fixe-composer.fichier yml pour:
version: '2'
services:
web:
image: modx
volumes:
- html:/home/muzzstick/dev/modxdev
links:
- db:mysql
ports:
- 80:80
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- 3306:3306
command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
myadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8080:8080
volumes:
html:
external: false
Malheureusement, cela semble arrêter le conteneur web en cours d'exécution.
db et myadmin conteneurs de montrer qu'ils sont en cours d'exécution ok.
Il n'y avait pas d'erreurs... si j'type docker start docker_web_1
il semble démarrer mais docker ps -a
montre qu'il est sorti, dès qu'il a commencé.
Mise à jour 2
De course docker-compose up -d
semble fonctionner sans problème. Mais alors, comme vous pouvez le voir ci-dessous, le conteneur web quitte dès qu'il est créé.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1dd6d8ac94e modx "/entrypoint.sh apach" 10 seconds ago Exited (1) 5 seconds ago docker_web_1
ee812ae858dc phpmyadmin/phpmyadmin "/run.sh phpmyadmin" 10 seconds ago Up 5 seconds 80/tcp, 0.0.0.0:8080->8080/tcp docker_myadmin_1
db496134e0cf mysql "docker-entrypoint.sh" 11 seconds ago Up 10 seconds 0.0.0.0:3306->3306/tcp docker_db_1
Mise à jour 3
OK les journaux d'erreur pour ce conteneur montre:
error: missing MODX_DB_HOST and MYSQL_PORT_3306_TCP environment variables
Did you forget to --link some_mysql_container:mysql or set an external db
with -e MODX_DB_HOST=hostname:port?
Cette erreur semble être originaire d'une https://github.com/modxcms/docker-modx/blob/master/apache/docker-entrypoint.sh#L15-L20
Pourrait-il être quelque chose comme la liaison est traitée différemment dans docker-composition de la version 2?
- Ce qui se passe lorsque vous exécutez
docker-compose up
? - Il tire les différentes images comme prévu et crée des conteneurs. Mais la conteneur web quitte presque immédiatement, comme vous pouvez le voir dans ma mise à jour ci-dessus.
Vous devez vous connecter pour publier un commentaire.
Pour créer un nom de volume de données à l'aide de la la version 2 de composer des fichiers vous aurez séparées de la zone:
De sorte que vous pouvez définir le nom du volume (amazingvolume), si c'est externe ou pas et en vertu de votre service (db dans cet exemple), vous pouvez définir le répertoire que tu vas monter.
Il suffit de chercher dans le panneau de la documentation pour a accueilli les volumes montés:
Changement
/var/www/html
dans le répertoire où les fichiers html sera à l'intérieur du conteneur. Et aussi créer le répertoire à gauche de vous accueillir et de donner l'autorisation de lecture pour tous les utilisateurs.Ce qui concerne