Создание песочницы вручную на основе Docker
Узнайте, как вручную создать песочницу на основе Docker, в этой статье Стефано Демилиани, сертифицированного разработчика решений Microsoft (MCSD) и многолетнего эксперта по различным технологиям Microsoft, и Дуилио Таккони, Microsoft Dynamics NAV / Microsoft Dynamics 365 Business Central. Инженер по эскалации в Microsoft EMEA Customer Support & Services (CSS).
Вы можете создать среду песочницы Dynamics 365 Business Central, не используя ссылки песочницы на рабочий клиент Business Central, а вместо этого используя настраиваемые сценарии для создания песочниц на основе Docker, размещенных локально или в Azure Container Instances.
Действия по созданию локально размещенной изолированной программной среды Dynamics 365 Business Central вручную
После установки Docker для Windows на локальном компьютере вы можете вручную создать контейнер Dynamics 365 Business Central на основе Docker, запустив сценарий, который извлекает образ контейнера из концентратора Docker. Из командной строки вы можете выполнить следующую команду:
docker run -m 4G -e ACCEPT_EULA=Y -e UseSSL=N microsoft/bcsandbox:latest
Это создаст контейнер Dynamics 365 Business Central с последним доступным образом. Если вы хотите создать песочницу с определенной локализацией (например, IT), вы можете выполнить следующую команду:
docker run -m 4G -e ACCEPT_EULA=Y -e UseSSL=N microsoft/bcsandbox:it
При выполнении этой команды Docker извлекает образ контейнера из концентратора Docker со всеми зависимыми слоями. Это займет некоторое время и требует не менее 15 ГБ свободного места на диске. Когда подготовка контейнера завершена, вы можете увидеть запущенные контейнеры Docker, выполнив следующую команду:
docker ps
А это вывод этой команды:
Другими полезными командами Docker, которые нужно знать, являются следующие:
• образы докеров: возвращает список контейнеров.
• docker pull: загрузка образа Docker (слои не используются)
• docker rmi: удаляет образ докера через идентификатор
• docker run: запускает образ Docker.
• docker ps: показывает работающий контейнер.
• docker rm: удаляет контейнер (-f, если он запущен)
• docker inspect: показывает содержимое контейнера (JSON)
• журналы докеров: показывает журнал выполнения для контейнера.
• Запуск/остановка/перезапуск Docker <имя_контейнера>
• Docker commit: сохраняет текущий статус остановленного контейнера в виде нового образа контейнера.
Помимо использования стандартных команд Docker, команда NAV предоставляет интересный модуль PowerShell под названием navcontainerhelper. Это модуль из галереи PowerShell, содержащий ряд функций PowerShell, которые помогают запускать контейнеры NAV и взаимодействовать с ними.
Чтобы использовать этот модуль, запустите PowerShell ISE от имени администратора и выполните следующее:
install-module navcontainerhelper -force
После установки вы можете получить список доступных команд, выполнив следующее:
Get-command –Module navcontainerhelper
Чтобы создать новый контейнер Dynamics 365 Business Central, запустите следующий сценарий:
$imageName = "microsoft/bcsandbox:latest"
$navcredential = New-Object System.Management.Automation.PSCredential -argumentList "admin", (ConvertTo-SecureString -String "P@ssword1" -AsPlainText -Force)
New-NavContainer -accept_eula `
-containerName "D365BC" `
-Auth NavUserPassword `
-imageName $imageName `
-Credential $navcredential' '
Это создаст локально размещенный контейнер на основе последнего образа Dynamics 365 Business Central с указанным именем (D365BC) и NavUserPassword в качестве проверки подлинности (с предоставленными учетными данными):
Этот модуль Powershell также полезен для создания нового контейнера NAV с резервной копией вашей базы данных:
$imageName = "microsoft/dynamics-nav:2018"
$navcredential = New-Object System.Management.Automation.PSCredential -argumentList "admin", (ConvertTo-SecureString -String "P@ssword1" -AsPlainText -Force)
New-NavContainer -accept_eula `
-containerName "test" `
-Auth NavUserPassword `
-imageName $imageName `
-Credential $navcredential `
-licenseFile " `
-additionalParameters @('--env bakfile="
Вы можете найти дополнительную информацию о navcontainerhelper по следующим ссылкам:
• https://github.com/Microsoft/navcontainerhelper
•
Действия по созданию изолированной программной среды Dynamics 365 Business Central на основе экземпляра контейнера Azure вручную
Контейнер Docker также можно подготовить в облаке Azure с помощью экземпляров контейнеров Azure. Экземпляры контейнеров Azure (ACI) предоставляет простой способ подготовки контейнера в Azure без установки всего. ACI — это отдельный контейнер, который запускается в секундах и оплачивается за время (количество секунд) его использования. Вы можете создать новый ACI непосредственно на портале Azure, выбрав Создать | Экземпляр контейнера Azure, а затем предоставить группу ресурсов и образ Docker, чтобы начать создание контейнера:
Вместо этого рекомендуется использовать интерфейс командной строки Azure (CLI), который можно запустить непосредственно из верхней панели портала Azure.
Отсюда вы можете создать новый ACI (контейнер в Azure), выполнив следующие шаги и команды:
- Создайте группу ресурсов:
az group create --name D365BCRG --location WestEurope
- Создайте контейнер с нужным образом Dynamics 365 Business Central:
az container create -g D365BCRG -n d365bc --image microsoft/bcsandbox:latest --os-type Windows --cpu 2 --memory 4 --ip-address public -e ACCEPT_EULA=Y USESSL=N ClickOnce=Y publicDnsName=d365bcpackt.westeurope.azurecontainer.io --dns-name-label d365bcpackt --ports 80 7046 7047 7049 8080
DNS-имя (в этом примере — d365bcpackt) должно быть уникальным для региона.
3. Чтобы отслеживать процесс установки контейнера, вы можете выполнить следующую команду. Обратите внимание, что этот шаг является необязательным.
az container attach -g D365BCRG -n d365bcpackt
Пользователя и пароль для подключения к вашему только что развернутому контейнеру можно найти в журнале с помощью этой команды:
az container logs --resource-group D365BCRG --name d365bc
Когда подготовка ACI завершена, вы можете подключиться к контейнеру Dynamics 365 Business Central, работающему в Azure, с помощью общедоступного DNS-имени. Дополнительные сведения об экземплярах контейнеров Azure можно найти по адресу
Если вы нашли эту статью интересной, вы можете изучить Краткое руководство по разработке Dynamics 365 Business Central чтобы понять новую модель Microsoft Extension для разработки. Краткое руководство по разработке Dynamics 365 Business Central — идеальное руководство по Dynamics 365 Business Central, которое поможет вам приступить к внедрению и разработке решений для реальных сценариев.