Exercício – instalar o SQL Server em um contêiner

Concluído

Você pode executar o SQL Server em um host do contêiner usando a imagem do Microsoft SQL Server 2019.

Você é um administrador de banco de dados na empresa atacadista Wide World Importers e deseja se beneficiar do SQL Server sem precisar alterar os sistemas operacionais do servidor. Você decidiu implantar o SQL Server em um contêiner e usar o Docker para implantá-lo e gerenciá-lo.

Neste exercício, você verá como implantar o SQL Server em um contêiner com o Docker.

Conectar-se à VM Ubuntu

Antes de executar qualquer contêiner, comece instalando o software do host do contêiner do Docker. Siga estas etapas:

  1. Se você ainda não concluiu o exercício da unidade 3, comece instalando um novo servidor Ubuntu 18.04 LTS. Esse comando demora alguns minutos para ser concluído. Se você tiver concluído a unidade 3, poderá ignorar esta seção:

    export UBUNTUPASSWORD=$(openssl rand -base64 32)
    az vm create \
        --name UbuntuServer \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --admin-username ubuntuadmin \
        --admin-password $UBUNTUPASSWORD \
        --image "Canonical:UbuntuServer:18.04-LTS:latest" \
        --nsg-rule SSH \
        --public-ip-sku Standard \
        --size Standard_D2s_v3   
    
  2. No Cloud Shell, insira esses comandos.

    export IPADDRESS=$(az vm show -d \
        --name UbuntuServer \
        --query publicIps --output tsv \
        --resource-group <rgn>[sandbox resource group name]</rgn>)
    echo $UBUNTUPASSWORD
    ssh ubuntuadmin@$IPADDRESS
    
  3. Quando for perguntado se você tem certeza, insira sim.

  4. Para a senha, use a que é exibida e pressione Enter. O SSH se conecta à VM (máquina virtual) e mostra um shell Bash.

Instalar o Docker

Para instalar o Docker, adicione o repositório do Docker e, em seguida, use a ferramenta apt-get.

  1. Para adicionar a chave GPG do Docker ao seu sistema Ubuntu, execute este comando:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  2. Para adicionar o repositório do Docker às fontes do Ubuntu, execute este comando:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  3. Para atualizar o banco de dados do pacote, execute este comando:

    sudo apt-get update
    
  4. Agora, você pode instalar o Docker. Execute este comando:

    sudo apt-get install -y docker-ce
    

Efetuar o pull e executar a imagem de contêiner

Para usar o SQL Server em contêineres do Docker, o método mais fácil é usar a imagem do Microsoft SQL Server em Linux como um pai. Nas etapas a seguir, você baixará e executará esta imagem:

  1. Para verificar se o Docker está em execução, execute este comando:

    systemctl status docker --no-pager
    
  2. Para efetuar o pull da imagem do SQL Server do repositório Microsoft, execute este comando:

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  3. Se você for solicitado a fornecer uma senha, use a que já foi exibida e pressione Enter.

  4. Para executar a imagem do Docker do SQL Server, execute este comando:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Pa55w.rd' \
    -p 1435:1435 --name sql-server-image \
    -d mcr.microsoft.com/mssql/server:2019-latest
    

Criar um banco de dados

Agora que SQL Server está em execução no contêiner, você pode criar um banco de dados nele. Siga estas etapas:

  1. Para criar um shell Bash dentro de seu contêiner, execute este comando:

    sudo docker exec -it sql-server-image "bash"
    
  2. Para iniciar o sqlcmd no contêiner, execute este comando:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Pa55w.rd'
    
  3. Para criar um banco de dados, execute este comando:

    CREATE DATABASE WideWorld1
    GO
    
  4. Para verificar se o banco de dados foi criado, execute estes comandos:

    SELECT Name from sys.Databases
    GO
    
  5. Para fechar sqlcmd, execute este comando:

    quit
    
  6. Para sair do contêiner e do SSH, execute o comando exit duas vezes.