Упражнение. Установка SQL Server в контейнере

Завершено

Чтобы запустить SQL Server на узле контейнера, можно использовать образ Microsoft SQL Server 2019.

Вы являетесь администратором базы данных компании оптовой торговли Wide World Importers и хотите использовать функциональные возможности SQL Server, не меняя при этом операционную систему сервера. Вы хотите развернуть SQL Server в контейнере и использовать Docker для его развертывания и управления им.

В этом упражнении показано, как развернуть SQL Server в контейнере с помощью Docker.

Подключение к виртуальной машине Ubuntu

Прежде чем запускать любые контейнеры, начните с установки программного обеспечения узла контейнера Docker. Выполните следующие действия:

  1. Если вы еще не выполнили упражнение из урока 3, начните с установки нового сервера Ubuntu 18.04 LTS. Эта команда занимает несколько минут. Если вы завершили урок 3, можно пропустить этот раздел:

    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. В Cloud Shell введите эти команды.

    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. Если вы уверены, введите да.

  4. Для пароля используйте отображаемый пароль и нажмите клавишу ВВОД. SSH подключается к виртуальной машине и отображает оболочку bash.

Установите Docker.

Чтобы установить Docker, добавьте репозиторий Docker и затем используйте средство apt-get.

  1. Чтобы добавить ключ GPG Docker в систему Ubuntu, выполните следующую команду:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  2. Чтобы добавить репозиторий Docker в источники Ubuntu, выполните следующую команду:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  3. Чтобы обновить базу данных пакета, выполните следующую команду:

    sudo apt-get update
    
  4. Теперь можно установить Docker. Выполните следующую команду:

    sudo apt-get install -y docker-ce
    

Извлечение и запуск образа контейнера

Чтобы использовать SQL Server в контейнерах Docker, проще всего использовать образ Microsoft SQL Server на Linux в качестве родительского. На следующих шагах скачайте и запустите этот образ:

  1. Чтобы убедиться, что Docker запущен, выполните следующую команду:

    systemctl status docker --no-pager
    
  2. Чтобы извлечь образ SQL Server из репозитория Microsoft, выполните следующую команду:

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  3. Если вы запрашиваете пароль, используйте пароль, отображаемый ранее, и нажмите клавишу ВВОД.

  4. Чтобы запустить образ Docker с SQL Server, выполните следующую команду:

    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
    

Создание базы данных

После запуска SQL Server в контейнере можно создать в нем базу данных. Выполните следующие действия:

  1. Чтобы создать оболочку Bash внутри контейнера, выполните следующую команду:

    sudo docker exec -it sql-server-image "bash"
    
  2. Чтобы запустить sqlcmd в контейнере, выполните следующую команду:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Pa55w.rd'
    
  3. Чтобы создать базу данных, выполните следующую команду:

    CREATE DATABASE WideWorld1
    GO
    
  4. Чтобы убедиться в успешном создании базы данных, выполните следующие команды:

    SELECT Name from sys.Databases
    GO
    
  5. Чтобы закрыть sqlcmd, выполните следующую команду:

    quit
    
  6. Чтобы выйти из контейнера и SSH, выполните команду дважды .