- Образ
У MySQL есть официальный образ в репозитории docker, именно его и будем использовать.
- Контейнер с mysql
При создании контейнера автоматически создается том, где хранятся базы данных, для удобства последующей с ним работы, мы сделаем его "руками". Команда для создания и запуска контейнера:# docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=test -d -v /var/lib/docker/volumes/mysql-data:/var/lib/mysql mysql
- наш контейнер называется mysql-server
- пароль mysql root: test
- /var/lib/docker/volumes/mysql-data : директория на хост-машине, где будут храниться БД контейнера
- /var/lib/mysql : сюда директория монтируется в контейнере
- Работа
- запустить:# docker start mysql-server
- остановить:# docker stop mysql-server
- Перенос контейнера на другой сервер
По большому счету, на новом сервере нам нужны только базы данных, остальное легко поднимается с нуля, поэтому самое простое - это остановить контейнер, скопировать на новый сервер директорию /var/lib/docker/volumes/mysql-data, после чего создать новый контейнер, как написано в разделе выше.
Но если очень хочется, то переносим:
- останавливаем контейнер и смотрим список контейнеров (нам будет нужен CONTAINER ID):# docker stop mysql-server mysql-server # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38c1c22fe12f mysql "docker-entrypoint..." 51 minutes ago Exited (0) 49 seconds ago mysql-server
- создаем образ контейнера:# docker commit 38c1c22fe12f export/mysql-server1
- смотрим, появился ли образ:# docker images REPOSITORY TAG IMAGE ID CREATED SIZE export/mysql-server latest 6460b5db9ccc 35 minutes ago 407MB mysql latest 44a8e1a5c0b2 8 days ago 407MB
- пишем образ в файл:# docker save export/mysql-server > mysql_server.tar.gz
- образ из файла импортируем на другом сервере или восстанавливаем на своем:# docker load < mysql_server.tar.gz
- директорию /var/lib/docker/volumes/mysql-data нужно переносить на новый сервер отдельно!
- на новом сервере создаем новый контейнер из образа export/mysql-server
Статья опубликована: 2017-07-01 17:49:04
Последние правки: 2025-09-09 00:04:07
Создаем Docker контейнер с MySQL сервером из официального образа mysql.
Связанные странички:
Docker - первые шаги
Создаем образ для докера на основе Ubuntu, внутри Exim.
Работаем с MySQL 8
Mysqldump: [Warning] Using a password on the command line interface can be insecure
Запускаем Selenium контейнеры с браузерами под docker.
mysql 5.7 access denied for user ‘root’@’localhost’