Вы должны сделать docker-compose down -v
, который удалит именованные тома, объявленные в разделе томов. Единственным недостатком является то, что вы потеряете все данные, созданные службой в первый раз.
Вот как я мог это воспроизвести -
Использовал ваш композитный файл в качестве справочного и в первый раз использовал упомянутый вами пароль по умолчанию. Сервисы работают нормально, я устанавливаю его и делаю Ctrl+C
, чтобы отключить сервис. Таким образом, все данные MYSQL записываются в SQL с именем тома.
Когда вы делаете Ctrl+C
ИЛИ docker-compose down
, он удаляет только контейнеры и сети, определенные в сервисе. Не тома. Подробнее об этом здесь
Теперь, когда вы меняете пароль и восстанавливаете службу, она по-прежнему использует старые тома с вашим старым паролем.
Поэтому используйте docker-compose down -v
, чтобы удалить тома и попробовать.
Вот шаги, как я его воспроизвел
Ctrl + C, чтобы остановить все службы, а затем обновите docker-compose.yml, чтобы обновить пароль, и снова выполните команду docker-compose up
, чтобы получить ошибку об отказе в доступе.
Выполните docker-compose down -v
, чтобы очистить весь объем, а затем выполните docker-compose up
.
При выполнении docker-compose down -v
вы потеряете все данные, созданные предыдущей службой. Используйте это осторожно.