Jestem nowy w Docker i próbuję dowiedzieć się, jak ustawić nazwę utworzonego woluminu danych. Obecnie katalog jest automatycznie nazywany długim hashiem w/var/libs/docker, co jest dalekie od przyjaznego dla użytkownika.Jak nazwać wolumin przy użyciu pliku docker-compose.yml?
Ja próbuje skonfigurować środowisko programistyczne dla MODx jak pokazano tutaj: https://github.com/modxcms/docker-modx
Obecnie mój plik doker-compose.yml się następująco:
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
Działa to doskonale, ale nie jestem pewien, jak nazwać ilość danych, którą chciałbym edytować bezpośrednio za pomocą mojego IDE.
(jako pytanie z boku, czy ma zostać utworzony w katalogu/var/libs/docker Albo czy jest jakiś sposób na ustawienie go do katalogu w moim katalogu domowym?)
Aktualizacja: Dzięki pomocy z @juliano zaktualizowałem mój plik Döcker-compose.yml do:
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
Niestety wydaje się zatrzymać pojemnik internetowej z systemem. Kontenery db i myadmin pokazują, że działają poprawnie. Nie było żadnych błędów ... jeśli wpiszę docker start docker_web_1
, zacznie się wyświetlać, ale docker ps -a
pokazuje, że zostało zakończone zaraz po uruchomieniu.
Aktualizacja 2
Running docker-compose up -d
wydaje się działać bez problemu. Ale potem, jak widać poniżej, kontener internetowy kończy działanie zaraz po utworzeniu.
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
Aktualizuj 3 ok dzienników błędów dla tego kontenera Wystawy:
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?
Ten błąd pojawia się pochodzący z https://github.com/modxcms/docker-modx/blob/master/apache/docker-entrypoint.sh#L15-L20
Może to być coś takiego powiązania jest traktowane inaczej w doker-compose wersja 2?
Co się stanie, gdy uruchomisz 'docker-compose up'? –
Wyciąga różne obrazy zgodnie z oczekiwaniami i tworzy pojemniki. Ale kontener internetowy kończy działanie niemal natychmiast, jak widać w mojej aktualizacji powyżej. – Muzzstick