- Образ
У 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
Последние правки: 2019-05-24 17:50:46
Создаем Docker контейнер с MySQL сервером из официального образа mysql.