Прежде всего: выполнение точной команды docker на моем компьютере с Ubuntu Linux без проблем запускает mysql в контейнере.
Но, конечно, это вам не поможет, поэтому давайте посмотрим на вашу проблему:
Эта проблема не должна быть связана с экземпляром mysql, работающим на вашем локальном компьютере, поскольку, как вы заявили, приложение внутри контейнера Docker изолировано от хост-компьютера.
Похоже, что этопроблема с хранением.По какой-то причине приложение mysql внутри контейнера Docker не может использовать свойство / var / lib / mysql (также внутри контейнера Docker. В сообщении об ошибке четко говорится следующее:
... data directory /var / lib / mysql непригоден для использования.
Это может быть либо проблема с самой установкой вашего докера, либо проблема с образом, либо проблема с настройкой mysql внутри контейнера.Я бы сказал, что это маловероятно, потому что образ mysql docker широко используется и считается достаточно стабильным. Последний вариант всегда возможен, но, учитывая, что вы не сильно отличаетесь от примеров на странице концентратора докеров, и я могучтобы выполнить точную команду на моем компьютере, я склонен винить первый вариант.
Вы пытались предоставить образ с томом докера (см. https://docs.docker.com/storage/ для глобальной ссылки)
Простейшим типом управляет docker, и он добавляется в команду docker следующим образом:
-v mysql_data:/var/lib/mysql
Ваш комЗатем мандат становится:
docker run -v mysql_data:/var/lib/mysql -p 6603:3306 --name=docker-mysql --env="MYSQL_ROOT_PASSWORD=root" --env="MYSQL_PASSWORD=root" --env="MYSQL_DATABASE=test" mysql
Если вы хотите смонтировать его в каталог на вашем хост-компьютере, используйте этот аргумент:
-v <local path>:/var/lib/mysql