Я новичок в Docker, и я пытаюсь выяснить, как установить имя созданного тома данных. В настоящее время каталог автоматически называется длинным хэшем в/var/libs/docker, который далек от удобства использования.Как назвать том с помощью файла docker-compose.yml?
Я пытаюсь настроить среду разработки для MODX, как показано здесь: https://github.com/modxcms/docker-modx
В настоящее время мой докер-compose.yml файл следующим образом:
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
Это работает отлично, но я 'uns unsure относительно того, как назвать том данных, который я бы редактировал непосредственно с моей IDE.
(В качестве побочного вопроса, это должен быть создан в/вар/LIBS/докер Или есть способ установить его в каталог в моей домашней папке?)
Обновление: Благодаря помощи от @juliano Я обновил свой Докер-compose.yml файл:
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
к сожалению, это, кажется, чтобы остановить веб-контейнер от бега. Контейнеры db и myadmin показывают, что они работают нормально. Не было никаких ошибок ... если я нахожу docker start docker_web_1
, он, кажется, начинается, но docker ps -a
показывает, что он вышел, как только он запустился.
Update 2
Запуск docker-compose up -d
появляется запустить без проблем. Но тогда, как вы можете видеть ниже, веб-контейнер выходит, как только он создается.
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
Update 3 OK журналы ошибки для этого контейнера показывает:
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?
Эта ошибка появляется, чтобы быть происходящими из https://github.com/modxcms/docker-modx/blob/master/apache/docker-entrypoint.sh#L15-L20
Может быть что-то вроде связывания обрабатываются по-разному в docker-compose version 2?
Что происходит, когда вы запускаете 'docker-compose up'? –
Он тянет различные изображения, как ожидалось, и создает контейнеры. Но веб-контейнер выходит почти сразу, как вы можете видеть в моем обновлении выше. – Muzzstick