Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Criando uma imagem personalizada do Docker do SQL Server em cima da imagem oficial


Olá pessoal, hoje vamos discutir como podemos criar nossa própria imagem personalizada do SQL Server em cima da imagem oficial.

Isso pode ser realmente útil em vários cenários, como quando temos um novo membro da equipe se juntando à nossa equipe. Em vez de dar a eles uma nova instância do SQL Server, podemos ter uma imagem da configuração inicial e eles podem apenas puxá-la e estar prontos para trabalhar nela

Pré-requisito

  • Docker Desktop instalado e funcionando na máquina. Pode ser baixado aqui https://docs.docker.com/v17.09/docker-for-windows/install/
  • Conta no Docker Hub para que possamos publicar e depois extrair nossa imagem de encaixe personalizada do Sql Server
  • Executando a instância de um novo contêiner do SQL Server da imagem oficial disponível no docker hub mcr.microsoft.com/mssql/server:2017-latest.
docker run -e "ACCEPT_EULA=Y" "SA_PASSWORD=MYPASSWORD123" -p 1433:1433 --name MyContainerName -d mcr.microsoft.com/mssql/server:2017-latest

Configurando o SQL Server 🔥

  • Depois que o servidor estiver funcionando, faça login no SQL Server usando o SQL Server Management studio com o endereço IP do host
  • O nome de usuário seria SU e a senha é MYPASSWORD123 conforme usado no comando acima para executar o contêiner
  • Em seguida, podemos configurar nosso servidor como banco de dados, tabelas manualmente ou usando qualquer arquivo de backup etc
  • Agora temos nosso banco de dados no lugar e queremos criar uma imagem dessa configuração para que, na próxima vez que alguém puxar a imagem, não precise mais importar manualmente o banco de dados

Criar imagem personalizada do Docker

  • Primeiro, pare o contêiner em execução usando o comando
docker stop MyContainerName
  • Em seguida, enviamos nossas alterações para o contêiner para que possamos criar uma imagem dele
docker commit MyContainerName
  • Em seguida, copie a imagem do nosso contêiner específico da lista usando o comando
Docker images
  • A imagem recém-criada não tem um repositório e uma tag. Execute o seguinte comando para marcar a imagem
docker tag <imageID> <docker-hub-username>/<docker-hub-repository-name>:<tag-name>

Por exemplo:tag docker a82e969d1395 rajatsrivas/ myownsql:sqlCustomImage
  • Agora nossa imagem está construída e podemos criar um contêiner usando a imagem
docker run -p 1433:1433 --name sqlCustomImage -d rajatsrivas/ myownsql
  • Se você estiver conectado ao docker hub no Docker Desktop local, esta etapa será ignorada, caso contrário, faça login usando o prompt de comando

docker login -username=rajatsrivas

  • Digite a senha na próxima linha e, finalmente, envie a imagem para o repositório do docker hub

docker push rajatsrivas/myownsql

  • Vá para https://hub.docker.com/
  • Devemos ter a imagem que enviamos para o hub do docker


Puxe e execute nossa imagem personalizada 🏃‍♂️

  • Puxe a imagem para qualquer máquina usando o comando

docker pull rajatsrivas/myownsql:latest

  • Execute o contêiner e acesse o servidor no SSMS. O servidor deve ter o banco de dados que foi importado e configurado nas etapas anteriores
docker run -p 1433:1433 --name <container-name> -d rajatsrivas/myownsql:latest

Conclusão


Então, implementamos nossa imagem personalizada em cima de uma imagem oficial do docker disponível.

Este é um pequeno passo na integração, mas pode-se aproveitar implementações semelhantes para configurar ambientes de sandbox com muita rapidez e eficiência.

Espero que isso tenha sido útil. Continue aprendendo continue construindo