na OS X.mysql w pojemniku Döcker nie można uruchomić za pomocą zamontowanego woluminu na os x
Próbuję uruchomić MySQL w kontenerze Döcker przez boot2docker, montując głośność /var/lib/mysql
na komputerze, dzięki czemu Mogę mieć trwałe dane mysql. Mam zamiar użyć kontenera danych tylko w przyszłości, ale teraz próbowałem to zrobić za pomocą tej opcji.
używam następującą komendę, aby uruchomić pojemnik:
docker run -v /Users/yash/summers/db:/var/lib/mysql -i -t 'image name'
Folder /Users/yash/summers/db
już tam jest.
Mam do czynienia z kwestiami persmission w tym. Korzystanie z wiersza poleceń, jestem w stanie uzyskać dostęp do katalogu, należy utworzyć/usunąć nowe pliki, ale kiedy używam service mysql start
, pojawia się następujący błąd:
150528 15:43:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150528 15:43:43 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150528 15:43:43 [Note] /usr/sbin/mysqld (mysqld 5.5.43-0ubuntu0.14.04.1) starting as process 909 ...
150528 15:43:43 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
150528 15:43:43 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.150528 15:43:43 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
150528 15:43:43 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
150528 15:43:43 InnoDB: The InnoDB memory heap is disabled
150528 15:43:43 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150528 15:43:43 InnoDB: Compressed tables use zlib 1.2.8
150528 15:43:43 InnoDB: Using Linux native AIO
150528 15:43:43 InnoDB: Initializing buffer pool, size = 128.0M
150528 15:43:43 InnoDB: Completed initialization of buffer pool
150528 15:43:43 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
150528 15:43:44 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Mam stara się rozwiązać ten problem w ciągu ostatnich 2 dni przeglądanie wielu stron, takich jak this, this i this.
Nie mogę rozwiązać mojego problemu. Myślę, że nie jestem w stanie perfekcyjnie tego, co proponują rozwiązania.
Z mojego zrozumienia wynika, że na tych stronach wymieniono obejścia, które obejmują zmianę identyfikatorów i przewodników, ale uważam, że nie zostały one dobrze wyjaśnione.
Czy ktoś może mi wyjaśnić szczegółowe obejście tego problemu.
Aktualizacja 1: Próbowałem go również przy użyciu pojemnika z danymi również i nadal stoi ten sam problem.
Jestem w stanie uruchomić wszystko dobrze, jeśli nie używam żadnej opcji -v
lub --volumes-from
, więc myślę, że nie ma problemu w serwerze mysql.
Aktualizacja 2: Dockerfile wykorzystywane do tworzenia danych wyłącznie opakowania:
FROM ubuntu
RUN mkdir /var/lib/mysql
VOLUME /var/lib/mysql
próbowałem z danych wyłącznie pojemnika, i nadal stoi ten sam problem. – Yashasvi
Mam ten sam problem.Poszukujesz również odpowiedzi – JTWebMan
@JTWebMan: Czy masz jakieś rozwiązanie? – Yashasvi