Saiba como instalar o Microsoft SQL Server 2017 em qualquer distribuição Linux usando container Docker

SQLSERVER-2017-Linux-linuxdescomplicado

Meados do ano passado, a Microsoft divulgou que, em 2017, uma versão do seu SGBD, MS SQL Server, para Linux seria lançado. Logo em seguida, anunciou uma pré-visualização pública. Pela primeira vez na história, o SQL Server estava disponível para Linux – primeiramente no Ubuntu. E depois disponibilizou uma imagem para Docker. Então, com o advento de containers Docker, saiba como instalar o Microsoft SQL Server 2017 em qualquer distribuição Linux usando Docker.

Contextualizando

Em meio a divulgação do SQL Server 2016, no ano passado, a Microsoft também divulgou que, em meados de 2017, a versão 2017 também seria lançada para Linux – com uma versão de testes restrita inicialmente. Em seu blog oficial, na época, a Microsoft publicou todas as novas funcionalidades do seu produto SGBD e aproveitou para ampliar seu leque de sistemas operacionais suportados; incluindo o pinguim nessa conversa :)

Inicialmente, liberado no Ubuntu, a Microsoft também disponibiliza pacotes RPM (Red Hat e derivados) e APT (Debian e derivados); e pacotes para o SUSE Linux Enterprise Server.

Assim, com o pontapé inicial sendo dado pela Canonical (mantenedora do Ubuntu), as principais novidades dessa nova versão do SQL Server estarão muito voltadas para as ferramentas de Cloud do Ubuntu. Por exemplo, o Juju – plataforma de nuvem do Ubuntu. Além disso, o foco será a plataforma de nuvem Azure da Microsoft, onde o Ubuntu possui um template de VM criado.

Além da combinação da Canonical e Microsoft SQL Server e suporte as plataformas de nuvem (Juju e Azure), containers Docker também podem ser explorados :)

Docker

Docker é uma plataforma para desenvolvimento, provisionamento e execução de aplicações usando tecnologia de containers. Esta plataforma oferece um conjunto de poderosas ferramentas que aprimoram a forma de criar e administrar aplicações entre ambientes diferentes. Além disso, garante isolamento de recursos para que o administrador possa disponibilizar uma aplicação segura.

docker-windows-servers

Com a “revolução” da cultura DevOps – movimento que promove um conjunto de processos e métodos para pensar sobre comunicação e colaboração entre os desenvolvedores de software e administradores de sistemas computacionais – o surgimento de ferramentas que pretendem agilizar essas operações surgem a cada dia. Entre elas, surgiu a Dockerplataforma multiplataforma de código aberto que automatiza a implantação de serviços, fornecendo uma camada de abstração a nível sistema de nível operacional e isolando-os em containers. Disponibilizada pela primeira vez em 2013, de lá pra cá o Docker vem numa crescente enorme! Principalmente, porque proporciona agilidade na entrega dos serviços.

A “fórmula” criada é simples… Evita que você tenha retrabalho na disponibilização dos serviços. Imagine, por exemplo, se você precisar configurar 2 ambientes web Apache em máquinas distintas, quais serão os passos necessários para configurá-los?! Simples… os mesmos do primeiro ambiente :) Agora, multiplica por 10 ou mais vezes. Então, por quê configurar o ambiente web Apache 10 vezes se deve sempre ser configurado, na maioria das vezes, do mesmo jeito?!

Assim, um container Docker pode executar tanto num cluster de alto processamento quanto num hardware de baixo processamento. Isto é possível, pois a plataforma Docker possibilita o empacotamento de uma aplicação inteira em imagens, tornando-as portáveis para qualquer outro computador/servidor que contenha o Docker instalado. Isso gera a agilidade e padronização na entrega dos serviços. E, principalmente, evita o retrabalho (“reinventar a roda”). Com o Docker você se preocupa apenas com as peculiaridades da sua aplicação/ambiente/ferramenta. No caso do ambiente Web Apache, somente com os arquivos do site ou aplicação que rodará nele :)

Sendo assim, saiba que se você é um profissional e/ou estudante de cursos de Tecnologia da Informação você poderá ter diversas vantagens usando a plataforma Docker. Por exemplo:

– Desenvolve uma vez…executa em qualquer lugar;
– Sem preocupações (dependências e/ou pacotes)… foco no desenvolvimento;
– Diversos ambientes para testes;
– Evita o “localhost funciona”;
– Configura uma vez… executa em qualquer lugar;
– Elimina inconsistências na entrega das aplicações e/ou serviços;
– Ciclo de trabalho mais eficiente e ágil;
– Promove uma infraestrutura escalável;

E caso não seja nenhum profissional da área, mas é um usuário entusista do Linux, saiba que o Docker também tem algumas vantagens para você:

– Tudo que é executado por linha de comando, poderá ser executado num container Docker;
– Instala softwares em um ambiente isolado;
– Executa uma ferramenta sem precisar instalar nenhum pacote/dependência no seu sistema. Por exemplo, o FFmpeg… quando não estiver mais precisando, poderá excluí-la facilmente;
– Evita conflito de múltiplas dependências de pacotes;

Caso queira aprender mais sobre o Docker, inscreva-se no curso introdutório, criado por mim, que explica, em detalhes, toda a estrutura Docker e como administrar e criar containers – acesse AQUI – Nesse link 50% desconto :)

SQL Server 2017 no Linux

Usando Docker, vou explicar como configurar e executar o Microsoft SQL Server 2017 em qualquer distribuição Linux em container. Eu usarei a imagem disponível no Docker Hub para executar o SQL Server 2017 CTP 2.1 num container Docker.

Existem alguns requisitos mínimos para usar a imagem oficial docker microsoft/mssql-server-linux:

– Instale o Docker Engine 1.8 ou superior – use a documentação oficial como referência
– Mínimo de 4 GB de espaço em disco
– Mínimo de 4 GB de RAM

Para instalar o MS SQL Server em qualquer distribuição Linux usando Docker, é preciso executar o comando abaixo (depois do Docker instalado), que irá baixar a imagem oficial e criar um container a partir disso:

sudo docker run --name mssqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=@MyMSSQLDocker112' -p 1433:1433 -d microsoft/mssql-server-linux

Onde,

–name mssqlserver -> representa o nome do container;
-e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=@MyMSSQLDocker112′ -> representa o uso de variáveis de ambiente que configuram a senha do banco e aceite dos termos de uso;
-p 1433:1433 -> representa a liberação da porta 1433 do SQL Server;
-d microsoft/mssql-server-linux -> representa o uso da imagem oficial do MS SQL Server;

Pronto!! Container criado. Execute o comando abaixo para visualizá-lo:

sudo docker ps

Agora, para acessar o SQL Server, via container Docker, você pode se conectar a ele executando no container operações de banco de dados:

sudo docker exec -it mssqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P @MyMSSQLDocker112

Onde,

docker exec -> executa outro processo num container ativo;
-it -> solicita interação (i) e uso do terminal (t);
mssqlserver -> nome do container criado;
/opt/mssql-tools/bin/sqlcmd ->
binário do client seguido de seus parâmetros -S e -U e -P;

Assim, no console do SQL Server 2017, verifique a versão do SQL Server em questão :)

1> SELECT @@VERSION
2> GO
Ricardo Ferreira

Ricardo Ferreira

Fundador do Linux Descomplicado - LD.

Sempre em busca de novos conhecimentos, preza por conteúdo de qualidade e auto-explicativo. Por isso, persiste em criar um site com artigos relevantes para todos os leitores do Linux Descomplicado!
Ricardo Ferreira

Comentários

comentários

Desenvolvedor ou Sysadmin? Leia isso...

Docker é uma plataforma para desenvolvimento, provisionamento e execução de aplicações usando tecnologia de containers.

Se você é um desenvolvedor ou sysadmin você poderá ter diversas vantagens usando a plataforma Docker:
  • Desenvolve uma vez...executa em qualquer lugar;
  • Sem preocupações (dependências e/ou pacotes)... foco no desenvolvimento;
  • Elimina inconsistências na entrega das aplicações e/ou serviços;;
  • Evita o “localhost funciona”;
  • Promove uma infraestrutura escalável;

Conheça o Curso Docker - Introdução a administração de containers. Ele é introdutório a plataforma Docker e lhe dará melhor compreensão sobre as vantagens da ferramenta.


Inscreva-se agora (50% OFF) »

VOCÊ TAMBÉM PODERÁ LER...