Как установить новую версию MySql через Docker?

250
25 февраля 2018, 23:18

Имеется Debian 8 с Mysql version 5.5.58 и на ней локально крутятся сайты.

Нужно поднять локально очередной сайт, но он крутится на продакшене на MySql ver 5.7.18-15.

Подскажите, как посредством Docker'a, соответственно не меняя версию текущей MySql, запустить новый сайт с БД другой версии, а то дамп не ставится из-за несовместимости?

Answer 1

Достаточно просто поднять контейнер mysql:5.7:

docker run -d \
  --restart=always \
  -e MYSQL_ROOT_PASSWORD=root \
  -p 127.0.0.1:3307:3306 \
  -v /var/dockerized-mysql:/var/lib/mysql \
  --name mysql-57 \
  mysql:5.7

Это создаст контейнер (грубо говоря, виртуальную машину), в которой будет крутиться один только MySQL. Пару слов о ключах:

  • --restart=always говорит docker, что в случае падения контейнера его нужно будет переподнять
  • -e MYSQL_ROOT_PASSWORD=root задает пароль для пользователя root внутри MySQL
  • -p 127.0.0.1:3307:3306 пробрасывает порт 3306 контейнера как порт 127.0.0.1:3307 хост-машины, что позволит всем приложениям коннектиться к нему как к localhost:3307
  • -v /var/dockerized-mysql:/var/lib/mysql смонтирует директорию /var/dockerized-mysql хост-машины как /var/lib/mysql внутри контейнера - благодаря этому вы будете знать, где живут ваши данные

После этого остается сконфигурировать приложение для доступа к MySQL, который теперь виден как сетевой сервис localhost:3307, логин и пароль для доступа - root и указанное значение MYSQL_ROOT_PASSWORD:

etki@vortex ~ $ mysql -h 127.0.0.1 -P 3307 -uroot -proot -e 'SELECT 1;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---+
| 1 |
+---+
| 1 |
+---+
READ ALSO
Проблемы с кириллицей в MySQL в команде INSERT

Проблемы с кириллицей в MySQL в команде INSERT

Запуская следующий код SQL(под windows10):

215
Создание интерфейса - Drag And Drop

Создание интерфейса - Drag And Drop

Подскажите как реализовать интерфейс в котором будет реализован Drag And Drop для компонентов, наследуемых User Control'ами

216
Запуск нескольких задач только в одном потоке

Запуск нескольких задач только в одном потоке

В момент времени запускаются 300 тасков ( этот запуск происходит периодически в пару минут)Метод, который выполняется внутри таска, производит...

204