Mam problemy z konfigurowaniem trwałych danych za pomocą Mariadb
. Używam docker-compose
, z każdą usługą w jednym kontenerze (Nginx
, PHP-FPM
i Mariadb
). Wszystko działa, z tym wyjątkiem, że Mariadb
nie przechowuje danych. Za każdym razem, gdy restartuję kontener, tracę wszystkie dane. Wtedy dowiedziałem się, że mogę użyć innego kontenera tylko po to, aby zachować dane, a to nawet nie musi być uruchomione.Docker-Compose Trwałe problemy z danymi
Używam kontenera kontenera volume_from
. Ale kiedy to robię, kiedy próbuję odwzorować tom /var/lib/mysql
, kontener nie jest uruchamiany.
Błąd
2015-12-29 12:16:40 7f2f02e4a780
InnoDB: System operacyjny numer błędu 13 w operacji pliku.
InnoDB: Błąd oznacza, że mysqld nie ma praw dostępu do
InnoDB: katalog.
Błąd dotyczy problemu z uprawnieniami do wolumenu, ale próbowałem ustawić uprawnienia przez Dockerfile
w obu kontenerach, a problem będzie nadal występował. Jestem trochę zagubiony. Używam OSX, więc uważam, że jest to problem z OSX. Czy ktokolwiek może mi z tym pomóc?
To jest mój kod:
My Docker Compose
content: build: containers/content container_name: content hostname: content volumes: - /var/lib/mysql mariadb: build: containers/mariadb container_name: mariadb hostname: mariadb ports: - "3306:3306" volumes_from: - content environment: - MYSQL_ROOT_PASSWORD=mariadb - TERM=xterm - PORT=3306
MariaDB Dockerfile
FROM debian:jessie RUN apt-get update && apt-get install -y mariadb-server EXPOSE 3306
Content Dockerfile
FROM debian:jessie VOLUME /var/lib/mysql CMD ["true"]
Dzięki I spróbuję tego. –
Zadziałało.Stworzyłem swój własny plik dokowany do Mariadb (nie jest źle, ale mocniej), a ja używałem dockera rm za każdym razem, gdy zamykałem Dockera. Ale teraz, z tym obrazem, który się nie zdarza. Problem nie został dokładnie rozwiązany, ale jest to również dobre rozwiązanie. –
Ten artykuł sugeruje, że należy użyć tego samego obrazu dla kontenerów db i pojemników z danymi: http://container42.com/2014/11/18/data-only-container-madness/ – toast38coza