Как запустить существующий MySQL-контейнер в Docker (панель инструментов)?
У меня есть контейнер (я использую этот контейнер https://hub.docker.com/_/mysql/), который был запущен ранее, с идентификатором 5f96e9570d1b1475a888d7a615acdd9a7715c1ed6f0c40900f2e9c1ab485c7cf, но теперь как я могу его перезапустить? Я пробовал эту команду, но не работает
$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=*Abcd1234 -d mysql:5.7
D:\CWindow10\Docker Toolbox\docker.exe: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "5f96e9570d1b1475a888d7a615acdd9a7715c1ed6f0c40900f2e9c1ab485c7cf". You have to remove (or rename) that container to be able to reuse that name.
See 'D:\CWindow10\Docker Toolbox\docker.exe run --help'.
Если я удалю контейнер и еще раз наберу команду, будут ли старые данные все еще существовать в новом контейнере?
2 ответа
Чтобы перезапустить существующий контейнер, просто запустите docker start <container_name_or_id>
,
Относительно данных: докер использует концепцию томов для размещения данных. Для изображения mysql есть раздел "Где хранить данные" на сайте Docker Hub. Если вы не указали вручную, куда должно идти изображение, Docker создаст его для вас. Если вы хотите, чтобы ваши данные были сохранены, самый простой способ - это создать папку и сообщить docker run
Команда для сопоставления этого объема. Таким образом, вы все равно можете использовать его, если выбросите свой контейнер.
используйте эту команду для перезапуска контейнера
docker restart <CONTAINER>
запуск нового контейнера не сохранит ваши данные, если вы не смонтировали внешний том и не сохранили на нем данные. Взгляните на этот блог http://blog.arungupta.me/docker-mysql-persistence/