Установка mysql в контейнере на Docker
У меня есть пару статей на эту тему, мне очень нравится работать с данной технологией.
Хочу в своей статье “Установка mysql в контейнере на Docker” описать процесс установки nginx внутри Docker. Надеюсь что у Вас уже установлен Docker, если нет, то можно установить его по моему мануалу:
Установка Docker на CentOS/RedHat/Fedora
Смотрим мои файлы на GitHub, и качаем их в папку себе:
https://github.com/SebastianUA/Docker/tree/master/docker_mariaDB_centos7
Переходим в папку и нужно будет собрать контейнер.
Сборка контейнера.
Когда все необходимое прописать в файл Dockerfile, можно приступить к сборке контейнера:
$ docker build -t mysql:base .
Лучше использовать:
$ docker build -rm -t captain/mysql:centos7 .
captain- пользователь (чтобы понимать кто создал контейнер).
mysql- говорит нам что в ОС есть mysql (чтобы не забыть).
centos7 – ОС.
После данной команды, начнется скачивание образа на CentOS и установки в него mysql. После завершения Вы должны увидеть ваш новый докер в имеющихся образах:
$ docker images
Запускаем контейнер:
$ docker run -d -p 3306:3306 captain/mysql:centos7
2266634b8051f4d1aecc61f3e56c0b6ec53445ffe39aa956b37043308132c764
Но есть одно но, необходимо переопределять (желательно):
/var/log/mysql/ -это логи самого mysql.
/var/lib/mysql/ -папка для mysql
То есть, должно запускаться следующим образом:
$ docker run -d -p 3307:3306 -v/var/log/mysql:/var/log/mysql/ captain/mysql:centos7
Как вы можете видеть, каждый раз когда вы запустите контейнер, Docker генерирует новый идентификатор для этого. Давайте посмотрим, если это действительно работает:
$ docker ps
Установка mysql в контейнере на Docker завершена.