Переключение между изображениями Docker - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужна помощь с докером на моем Mac.У меня есть контейнер, в котором я запускаю экземпляр mysql, и я создал его год назад, и до сегодняшнего дня он работал очень хорошо.Я использовал Kitematic, и я не знаю, почему мой контейнер mysql был перезапущен.Следуя этому руководству

https://timonweb.com/posts/getting-path-and-accessing-persistent-volumes-in-docker-for-mac/

Я нашел по этому пути

    linuxkit-025000000001:/var/lib/docker/volumes/41ba749910c92b2ab8e4d4a538fd6d15fad29864f2068f26629a8a7bddfcb53b/_data# 

папку mysql с моими таблицами.Могу ли я исправить эту ужасную ошибку?Спасибо.

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

Создайте папку в вашем домашнем каталоге и скопируйте в нее содержимое папки данных:

mkdir ~/mysql-data
cp -r /var/lib/docker/volumes/41ba749910c92b2ab8e4d4a538fd6d15fad29864f2068f26629a8a7bddfcb53b/_data/* ~/mysql-data

Теперь запустите отображение контейнера mysql ~ / mysql-data в / var / lib / mysql

Примерно так:

docker run \
  --name mysql \
  -v ~/mysql-data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=some-password \
  -d \
  mysql:tag

Надеюсь, это поможет

0 голосов
/ 07 апреля 2019

Хорошо, я нашел решение. К сожалению, поскольку я могу читать онлайн и в документации Docker, в системах Mac OS X (у меня есть Mojave) вы не можете получить доступ через папку /var/lib/docker/volumes, потому что вы должны получить доступ через screen, чтобы просмотреть эту папку, как вы можете прочитать в ссылка в моем ответе. Итак, я сделал эти вещи:

  • Откройте терминал и используйте screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
  • Вы должны увидеть пустой экран, просто нажмите Enter, и через некоторое время вы увидите приглашение командной строки
  • Откройте другой терминал и напишите docker run -it -v ~/Desktop:/Desktop <runs a container from an image> bash, как вы можете прочитать из документации Docker
  • Пользовательский каталог ~/Desktop/ теперь отображается в контейнере как каталог под /
  • Создайте файл с именем testOrSo в home на этом терминале
  • Вернитесь к другому терминалу и введите find -name "testOrSo" и нажмите enter, теперь у вас есть правильный путь к этому изображению. Скопируйте то, что вы хотите (в моем случае это папка _data) в пути, который найдет, покажет вам и выберите папку Desktop, смонтированную.
  • Вы можете показать свои данные на рабочем столе Mac.

Я понимаю, что это может быть не идеальное объяснение на 100% или что может быть более быстрый метод, но я решил свою проблему. Я надеюсь, что это может помочь!

...