Utilizando Docker com MySQL | iMasters
Tem 6 artigos publicados com 24413 visualizações desde 2013
Ao invés de múltiplas VMs, teremos múltiplos containers. Múltiplos SOs dão suporte à tecnologia de containers, em destaque o Linux. Sendo assim, o kernel do SO provê o suporte aos containers e o Docker é uma camada de abstração para facilitar seu uso, similar ao que o Vagrant faz para VMs. Isto nos dá a vantagem adicional do Docker ser agnóstico ao hardware e à plataforma, ou seja, os containers podem ser executados em qualquer lugar, desde seu laptop até grandes máquinas – sejam eles virtuais ou físicas e de qualquer fornecedor. Se você está interessado em detalhes de como a tecnologia de containers funciona, um bom ponto de partida é a documentação do Oracle Linux, cap. 9.
Se você é novo na utilização do Docker, é recomendado seguir este rápido tutorial.
Vamos utilizar o Oracle Linux 7 como SO para testar o MySQL no Docker. Você encontra um tutorial de como criar uma VM com Oracle Linux neste link. Neste tutorial, você pode ignorar a seção de instalação do MySQL Enterprise.
Pronto! Se você deseja utilizar o Oracle Linux 6, o procedimento é muito parecido, veja aqui. Se quiser utilizar outro SO, veja a respectiva documentação no site do Docker.
Pensando no Docker como uma "VM light", o próximo passo é intuitivo: instalar o MySQL. Isso é perfeitamente possível, porém a Oracle já disponibiliza imagens otimizadas com o MySQL pré-instalado. Estas imagens estão disponíveis em no Docker Hub Registry.
CONTAINER ID  IMAGE                      ... NAMES                      ...
08cd9827bf73  mysql/mysql-server:latest  ... container-teste-mysql      ...
| 5.6.23    |
Usaremos o mysql client (linha de comando) a partir de outro container para conectar ao container-teste-mysql, que já iniciamos anteriormente. Para este teste simples, vamos reutilizar a mesma imagem MySQL, pois ela já possui o mysql client instalado. Para iniciar um novo container com o link para o container original, faça:
2b65839aecba  mysql/mysql-server:latest  ... novo-container-teste-mysql ...
No parâmetro –link especificamos o nome do container que queremos linkar e também um alias. Dentre outras coisas, o alias é usado para atualizar o arquivo /etc/hosts da nova "máquina" com o IP da "máquina" linkada. Usaremos este nome como rota de acesso.