Code Monkey home page Code Monkey logo

wtassi / mssql-server-container Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 246 KB

O Microsoft SQL Server é um sistema gerenciador de Banco de dados relacional desenvolvido pela Sybase em parceria com a Microsoft. Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto.

License: MIT License

TSQL 25.42% Dockerfile 36.39% Shell 38.19%
docker sql sql-server mssql-docker mssql-server

mssql-server-container's Introduction

Link Oficial: https://www.microsoft.com/pt-br/sql-server/ Este projeto tem de a oferecer métodos diferentes e simples para criar instancias Microsoft SQL Server em container para auxiliar desenvolvedores e testes.

Learning Free: https://www.microsoft.com/pt-br/sql-server/sql-server-2022

Não é recomendado a utilização destes em ambientes de Produção.

*Requisitos técnicos:

  • Docker Desktop
  • Microsoft SQL Server Management Studio (ou outra IDE de Banco de dados de sua preferência).

Windows:

Software Download
Docker-Desktop download
MSSQL Studio download

01. Docker command

Acesse a pasta raiz com o terminal powershell.

Conteúdo da pasta ./mssql-server:

|-- mssql-server
|   |-- .dockerignore
|   |-- docker-compose.yml
|   |-- Dockerfile
|   |-- entrypoint.sh
|   |-- script-setup.sql

No arquivos script-setup.sql, é onde estão as regras de criação de um banco de dados para sua aplicação, assim como um usuário e senha. Essas informações estão parametrizadas no topo do conteúdo do arquivo para facilitar a devida alteração, conforme print abaixo.

Fique livre para customizações do script conforme sua necessidade.

Para compilar a imagem, inicie o Docker-Desktop e em seguida execute o comando:

docker build -t mssql-local ./mssql-server

Terá uma saída aproximadamente como esta:

Para execução da imagem, expondo a porta e montando um volume persistente (para que não perca o banco de dados assim como as configurações), execute:

docker run -d -p 1434:1433 `
  -v="$pwd\_volume\data":/var/opt/mssql/data `
  -v="$pwd\_volume\log":/var/opt/mssql/log `
  -v="$pwd\_volume\secrets":/var/opt/mssql/secrets `
  --name mssql `
  --hostname mssql `
  mssql-local:latest

Nota: Veja que na porta, exponho a 1434 (número aleatório) apenas pois tenho uma instancia fisica do SQL Server instalado em minha máquina, logo, se eu colocar a porta default 1433, terá conflito e ocorrerá falha no start do container.

Após finalizar o dia de desenvolvimento, vc poderá normalmente stopar o container e inicia-lo no dia seguinte para continuar os trabalhos e não perderá os dados.

# Para Stopar o container
docker stop mssql

# Para Iniciar o container
docker start mssql


02. Docker Compose

Acesse a pasta raiz com o terminal powershell.

O arquivo ./mssql-server/docker-compose.yml contém a estrutura que irá buildar e montar os diretórios persistentes.

CRIAÇÃO

Para criar a infraestrutura, execute o comando:

docker-compose -f .\mssql-server\docker-compose.yml up --build -d

Conecte na instância utilizando os dados configurados com a senha SA ou a de usuário customzado (presente no arquivo script-setup.sql)

Exemplo:

STOP

Para "stopar" a instancia, para que possa desligar e preservar a infraestrutura, execute o comando:

docker-compose -f .\mssql-server\docker-compose.yml stop

START

Para "startar" a instancia novamente e dar continuidade na utilização, execute o comando:

docker-compose -f .\mssql-server\docker-compose.yml stop

REMOVE

Para deletar a infraestrutura criada. execute o comando:

docker-compose -f .\mssql-server\docker-compose.yml down

NOTA: O comando docker-compose down, não faz a remoção do volume montado. Neste exemplo, o volume aparecerá na pasta raiz do repositório com o nome _volume. Remova manualmente caso não queira preservar os dados.

mssql-server-container's People

Contributors

wtassi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.