microsoft / nav-docker

Official Microsoft repository for Dynamics NAV in Docker resources. It has not been decided yet, to which extend Microsoft will ship Docker images with NAV, so everything in this repo is work in progress and might be subject to deletion.
MIT License
180 stars 91 forks source link

bc/onprem:latest-ltsc2019 fails to start on Server 2019 #300

Closed tfenster closed 5 years ago

tfenster commented 5 years ago

When doing the following docker run, I get an error that the NAV instance has not started:

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=n mcr.microsoft.com/businesscentral/onprem:ltsc2019
Initializing...
Starting Container
Hostname is 948c605c19f7
PublicDnsName is 948c605c19f7
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 9BFB7576B34918D87749469458C65D65F46AD537
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/9/2018 1:02:53 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: bf2c26e8-4f5f-4cdf-8ef3-de5027018c35
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 3be5b1b1-3aa7-4899-8b74-c496be714c08
                EventTime: 12/09/2018 00:02:53
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at Microsoft.Dynamics.Nav.Runtime.TempPathHousekeeper.MapClr
                ExceptionAndRethrow(Exception exception)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.GetNavAppGr
                oupAssemblyBucket(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.InitializeN
                avAppGroupAssembly(NavAppGroup appGroup,
                InitializeAppGroupProfiler profiler)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                InnerException:
                RootException: IOException
                ExceptionStackTrace:
                   at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                   at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                   at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                CallerStackTrace:
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.ComposeA
                ndSendExceptionTraceTag(String tag, Category category,
                Exception exception, DiagnosticParameter message, Verbosity
                verbosity, Guid clientSessionId, Guid clientActivityId, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendExce
                ptionTag(String tag, Category category, Exception exception,
                Verbosity verbosity, DiagnosticParameter message, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roupAssembly(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.Apps.NavAppGroupUpdater.Up
                dateGroupForChangedTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeAppsForTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeTenant(NavTenant tenant, NavTenantSettings tenantSettings,
                Boolean overwriteTenantIdInDatabase, Boolean
                verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTen
                ant(NavTenantMountingParameters mountingParameters)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountD
                efaultTenant(String databaseServerName, String databaseName,
                String databaseUserName, ProtectedDatabasePassword
                databasePassword, EncryptionProvider encryptionProvider,
                AzureKeyVaultSettings azureKeyVaultSettings, Boolean
                verifyServerInstanceKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSin
                gleLegacyTenant(String databaseServerName, String
                databaseName, String databaseUserName,
                ProtectedDatabasePassword databasePassword, EncryptionProvider
                encryptionProvider, AzureKeyVaultSettings
                azureKeyVaultSettings)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Config
                ureTenants(ServerUserSettings settings, String encryptionKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTaskFactory.<>c__Displa
                yClass11_0.<StartNewTask>b__0()
                   at System.Threading.Tasks.Task.Execute()
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&
                currentTaskSlot)
                   at System.Threading.Tasks.Task.ExecuteEntry(Boolean
                bPreventDoubleExecution)
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state)
                   at System.Threading.ThreadHelper.ThreadStart(Object obj)

                ProcessId: 6748
                Tag: 0000079
                ThreadId: 10
                CounterInformation:

TimeGenerated : 12/9/2018 1:02:53 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: bf2c26e8-4f5f-4cdf-8ef3-de5027018c35
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 3be5b1b1-3aa7-4899-8b74-c496be714c08
                EventTime: 12/09/2018 00:02:53
                Message (NavClientIOException): ParentException:
                NavClientIOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at Microsoft.Dynamics.Nav.Runtime.TempPathHousekeeper.MapClr
                ExceptionAndRethrow(Exception exception)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.GetNavAppGr
                oupAssemblyBucket(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.InitializeN
                avAppGroupAssembly(NavAppGroup appGroup,
                InitializeAppGroupProfiler profiler)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                InnerException:
                RootException: IOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                   at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                   at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                CallerStackTrace:
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.ComposeA
                ndSendExceptionTraceTag(String tag, Category category,
                Exception exception, DiagnosticParameter message, Verbosity
                verbosity, Guid clientSessionId, Guid clientActivityId, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendExce
                ptionTag(String tag, Category category, Exception exception,
                Verbosity verbosity, DiagnosticParameter message, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roupAssembly(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.Apps.NavAppGroupUpdater.Up
                dateGroupForChangedTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeAppsForTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeTenant(NavTenant tenant, NavTenantSettings tenantSettings,
                Boolean overwriteTenantIdInDatabase, Boolean
                verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTen
                ant(NavTenantMountingParameters mountingParameters)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountD
                efaultTenant(String databaseServerName, String databaseName,
                String databaseUserName, ProtectedDatabasePassword
                databasePassword, EncryptionProvider encryptionProvider,
                AzureKeyVaultSettings azureKeyVaultSettings, Boolean
                verifyServerInstanceKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSin
                gleLegacyTenant(String databaseServerName, String
                databaseName, String databaseUserName,
                ProtectedDatabasePassword databasePassword, EncryptionProvider
                encryptionProvider, AzureKeyVaultSettings
                azureKeyVaultSettings)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Config
                ureTenants(ServerUserSettings settings, String encryptionKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTaskFactory.<>c__Displa
                yClass11_0.<StartNewTask>b__0()
                   at System.Threading.Tasks.Task.Execute()
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&
                currentTaskSlot)
                   at System.Threading.Tasks.Task.ExecuteEntry(Boolean
                bPreventDoubleExecution)
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state)
                   at System.Threading.ThreadHelper.ThreadStart(Object obj)

                ProcessId: 6748
                Tag: 0000079
                ThreadId: 10
                CounterInformation:

TimeGenerated : 12/9/2018 1:02:53 AM
EntryType     : Error
Message       : Server instance: NAV
                Tenant ID:
                User:
                Type: System.IO.IOException
                Message:
                  A required privilege is not held by the client.

                StackTrace:
                     at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                     at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                     at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                     at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTh
                eFile(String sourceFileName, String source, Int64
                objectTimestamp)
                Source: mscorlib
                HResult: -2147023582
                StackTrace:
                     at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                     at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                     at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                     at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTh
                eFile(String sourceFileName, String source, Int64
                objectTimestamp)

docker inspect shows the following:

[
    {
        "Id": "948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c",
        "Created": "2018-12-09T00:01:16.7753952Z",
        "Path": "powershell",
        "Args": [
            "-Command",
            "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';",
            ".\\Run\\start.ps1"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 8444,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-12-09T00:01:19.9956435Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "Health": {
                "Status": "unhealthy",
                "FailingStreak": 19,
                "Log": [
                    {
                        "Start": "2018-12-09T01:10:27.2120319+01:00",
                        "End": "2018-12-09T01:10:33.329222+01:00",
                        "ExitCode": 1,
                        "Output": ""
                    },
                    {
                        "Start": "2018-12-09T01:11:03.3565557+01:00",
                        "End": "2018-12-09T01:11:09.5066517+01:00",
                        "ExitCode": 1,
                        "Output": ""
                    },
                    {
                        "Start": "2018-12-09T01:11:39.5349518+01:00",
                        "End": "2018-12-09T01:11:45.623586+01:00",
                        "ExitCode": 1,
                        "Output": ""
                    },
                    {
                        "Start": "2018-12-09T01:12:15.6584579+01:00",
                        "End": "2018-12-09T01:12:21.6740698+01:00",
                        "ExitCode": 1,
                        "Output": ""
                    },
                    {
                        "Start": "2018-12-09T01:12:51.6898566+01:00",
                        "End": "2018-12-09T01:12:57.8394882+01:00",
                        "ExitCode": 1,
                        "Output": ""
                    }
                ]
            }
        },
        "Image": "sha256:03016a9828ad8ff3f2e42b24f1158e388898e972280a95c3fef6e98196240583",
        "ResolvConfPath": "",
        "HostnamePath": "",
        "HostsPath": "",
        "LogPath": "C:\\ProgramData\\docker\\containers\\948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c\\948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c-json.log",
        "Name": "/trusting_fermat",
        "RestartCount": 0,
        "Driver": "windowsfilter",
        "Platform": "windows",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 0,
            "ConsoleSize": [
                50,
                229
            ],
            "Isolation": "process",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "GraphDriver": {
            "Data": {
                "dir": "C:\\ProgramData\\docker\\windowsfilter\\948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c"
            },
            "Name": "windowsfilter"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "948c605c19f7",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "1433/tcp": {},
                "443/tcp": {},
                "7045/tcp": {},
                "7046/tcp": {},
                "7047/tcp": {},
                "7048/tcp": {},
                "7049/tcp": {},
                "80/tcp": {},
                "8080/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "accept_eula=y",
                "ExitOnError=n",
                "DatabaseServer=localhost",
                "DatabaseInstance=SQLEXPRESS",
                "DatabaseName=CRONUS",
                "NAVDVDURL=https://nav2016wswe0.blob.core.windows.net/dvd/06373ccb-644a-47dd-830d-5f2ac9f81fb9",
                "VSIXURL=https://nav2016wswe0.blob.core.windows.net/dvd/al-2.0.56865.vsix",
                "IsBcSandbox=N"
            ],
            "Cmd": [
                "powershell",
                "-Command",
                "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';",
                ".\\Run\\start.ps1"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD",
                    "powershell",
                    ".\\Run\\HealthCheck.ps1"
                ],
                "Interval": 30000000000,
                "Timeout": 10000000000
            },
            "ArgsEscaped": true,
            "Image": "mcr.microsoft.com/businesscentral/onprem:ltsc2019",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "country": "W1",
                "created": "201811271036",
                "cu": "cu1",
                "eula": "https://go.microsoft.com/fwlink/?linkid=861843",
                "legal": "http://go.microsoft.com/fwlink/?LinkId=837447",
                "maintainer": "Dynamics SMB",
                "nav": "",
                "osversion": "10.0.17763.134",
                "tag": "0.0.8.0",
                "version": "13.1.25940.0"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "1433/tcp": null,
                "443/tcp": null,
                "7045/tcp": null,
                "7046/tcp": null,
                "7047/tcp": null,
                "7048/tcp": null,
                "7049/tcp": null,
                "80/tcp": null,
                "8080/tcp": null
            },
            "SandboxKey": "948c605c19f74463f6b5eb5ff3192cbed149bb0e1e7041c4fc12f7aaa91fcb1c",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "nat": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "b65ff80b65655d49bcac58dd095aa2ddb2eb9416eb3140fa378b01349b9d7f6c",
                    "EndpointID": "9e75477b3b1a5a37e89dea7169ef41009e08ebc0b0e9284f55cd20974ed183f0",
                    "Gateway": "172.24.80.1",
                    "IPAddress": "172.24.94.112",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "00:15:5d:2b:c7:7c",
                    "DriverOpts": null
                }
            }
        }
    }
]

If I enter the container and check the instance, it is stopped

PS C:\Run> Get-NAVServerInstance

ServerInstance : MicrosoftDynamicsNavServer$NAV
DisplayName    : Dynamics 365 Business Central Server [NAV]
State          : Stopped
ServiceAccount : NT AUTHORITY\SYSTEM
Version        : 13.0.25924.0
Default        : True

Is something broken on my side or is this a problem with the latest images?

tfenster commented 5 years ago

And the same for

docker run -e accept_eula=y -e ExitOnError=n mcr.microsoft.com/businesscentral/onprem:rtm-ltsc2019
tfenster commented 5 years ago

And also for bcsandobx. That seems too much, I guess there is something wrong with my Windows Server 2019. Have you by chance seen something like this before?

freddydk commented 5 years ago

Have not seen this before - looking at the stack trace, it seems to be when it compiles the application and creates assemblies for app execution. Are your Windows Server 2019 under any security policies?

Koubek commented 5 years ago

@tfenster Have you tried hyper-v isolation on the same config set?

tfenster commented 5 years ago

@Koubek I unfortunately can't test that as in our datacenter nested virt is disabled

tfenster commented 5 years ago

Have not seen this before - looking at the stack trace, it seems to be when it compiles the application and creates assemblies for app execution. Are your Windows Server 2019 under any security policies?

Might be possible. Should be the same as Server 2016, but with the amount of possible settings, I wouldn't rule out anything. The question is how to find the bad one...

Koubek commented 5 years ago

@Koubek I unfortunately can't test that as in our datacenter nested virt is disabled

Really? So you don't use Azure? ;)

tfenster commented 5 years ago

@Koubek Depends on the use case ;)

@freddydk This is a really weird one. If I start the container with ExitOnError=N, wait for the error to happen, get a session in the container and then start the instance, I can successfully create a new user (which should be the exact same thing happening at the line where it breaks on regular startup), assign SUPER and then log in

PS C:\> C:\Run\Prompt.ps1
Welcome to the NAV Container PowerShell prompt

PS C:\Run> start-navserverinstance NAV

ServerInstance : MicrosoftDynamicsNavServer$NAV
DisplayName    : Dynamics 365 Business Central Server [NAV]
State          : Running
ServiceAccount : NT AUTHORITY\SYSTEM
Version        : 13.0.25924.0
Default        : True

PS C:\Run> $sec = Read-Host -AsSecureString
************
PS C:\Run> new-navserveruser -UserName admin -Password $sec NAV
PS C:\Run> new-navserveruserpermissionset -PermissionSetId SUPER -UserName admin NAV
PS C:\Run>

Can you think of anything that happens differently between the very first startup and later startups?

Koubek commented 5 years ago

@tfenster The errors being logged are actually being logged since the failure, right? Then could you provide the initial log entries to see what happened before (to see the first error when the NST went down)?

tfenster commented 5 years ago

@Koubek Didn't think about that but will give it a try. I am open for anything... :) Maybe some stupid password complexity stuff.

However I found a workaround, although that actually is even more puzzling, at least to me: If I overwrite SetupNavUsers.ps1 with the following, the container successfully starts

Script SetupNavUsers.ps1

Write-Host "Restarting instance"
Restart-NAVServerInstance NAV | Out-Null
. (Join-Path $runPath $MyInvocation.MyCommand.Name)

Output

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -v c:\temp:c:\run\my --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is 687503b02d7d
PublicDnsName is 687503b02d7d
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint AC9AEC3BA4032ACA64E6788A44C7EB63BB03C569
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Restarting instance
Creating SUPER user
Container IP Address: 172.21.205.108
Container Hostname  : 687503b02d7d
Container Dns Name  : 687503b02d7d
Web Client          : https://687503b02d7d/NAV/
Admin Username      : admin
Admin Password      : Ryco2151
Dev. Server         : https://687503b02d7d
Dev. ServerInstance : NAV

Files:
http://687503b02d7d:8080/al-2.0.56865.vsix
http://687503b02d7d:8080/certificate.cer

Initialization took 144 seconds
Ready for connections!

To make sure, nothing changed on the host, I also ran without the -v volume again, and it again failed

Koubek commented 5 years ago

And just empty "my" folder... (no overrides at all)? Maybe something related???

tfenster commented 5 years ago

How do you mean? Running with just a mapped my folder, but no scripts inside?

Running with an explicit password results in the same problem

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -e username=Verwalter -e Password=PepsiMax4Ever! --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is cb1bdbb0cddd
PublicDnsName is cb1bdbb0cddd
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 7CB813F7E7BDFF44A390012F41FAF795908691AE
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user Verwalter
Setting SA Password and enabling SA
Creating Verwalter as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/9/2018 11:12:41 PM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: dd4dd094-1db9-4631-a008-cbaa1c1f5471
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 94587bc1-8d0a-492a-9b47-87235990da9a
                EventTime: 12/09/2018 22:12:41
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.
...

Those are the logs (System and Application), latest 30 entries. You can see the NAV server coming up and then failing, but at least I can't see anything like a reason: latest-30-application-log.txt, latest-30-system-log.txt

Giving up for today, absolutely can't figure out how a restart can fix whatever is causing the problem. I know "have you tried turning it off and on again?" is one of the pillars of IT, but that one is really strange

Koubek commented 5 years ago

Yes, just an empty folder being mapped as "my" folder. Just a shot...

freddydk commented 5 years ago

Could you try to disable UAC on the host?

tfenster commented 5 years ago

@freddydk Tried with both the EnableLUA registry key set to 0 (and a restart) and the graphical thing where you can pull the slider down, both with no effect to the problem

@Koubek An empty folder doesn't change the result

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -v c:\temp\empty:c:\run\my --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is c2fd5c50e54e
PublicDnsName is c2fd5c50e54e
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 2B95A4423879162510A1AE1B955276951CFD2D23
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/9/2018 11:25:58 PM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: d264ea00-7b84-40b0-9205-81d2d9db267d
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 81876a40-9c30-461c-af4a-c5ca6ac42c76
                EventTime: 12/09/2018 22:25:58
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.

Somewhat happy about that as it would have really scared me it that had fixed it ;)

freddydk commented 5 years ago

In the setupnavusers override - could you try to see if the NAV Server is running before doing the restart-service. I am pretty sure that it is stopped - and we need to figure out why. Could you also dump (Get-CimInstance Win32_OperatingSystem) | fl and (Get-CimInstance Win32_ComputerSystem) | fl here

freddydk commented 5 years ago

I am pretty sure that the failing piece is when it tries to compile the app. Maybe have a look in C:\ProgramData\Microsoft\Microsoft Dynamics NAV\130\Server\MicrosoftDynamicsNavServer$NAV\source in the container to see how far it got? You could also start with -e customnavsettings=EnableDebugging=true - to make sure the files aren't deleted.

tfenster commented 5 years ago

I've changed my script so that it now looks like this

Write-Host "Restarting instance"
Get-NAVServerInstance NAV
Restart-NAVServerInstance NAV | Out-Null
. (Join-Path $runPath $MyInvocation.MyCommand.Name)

At least it looks like instance is running before the restart

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -v c:\temp:c:\run\my --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is 1a2d9f177568
PublicDnsName is 1a2d9f177568
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 4178D9BE2F4DD98FB486D165C7D68673441D402C
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Restarting instance

ServerInstance : MicrosoftDynamicsNavServer$NAV
DisplayName    : Dynamics 365 Business Central Server [NAV]
State          : Running
ServiceAccount : NT AUTHORITY\SYSTEM
Version        : 13.0.25924.0
Default        : True

Creating SUPER user
Container IP Address: 172.21.194.79
Container Hostname  : 1a2d9f177568
Container Dns Name  : 1a2d9f177568
Web Client          : https://1a2d9f177568/NAV/
Admin Username      : admin
Admin Password      : Huqa1980
Dev. Server         : https://1a2d9f177568
Dev. ServerInstance : NAV

Files:
http://1a2d9f177568:8080/al-2.0.56865.vsix
http://1a2d9f177568:8080/certificate.cer

Initialization took 149 seconds
Ready for connections!

The logs look like this (I've removed the serial numbers. Not 100% sure, but it doesn't feel like a good idea to share those ;) ) : log_host.txt, log_container.txt

tfenster commented 5 years ago

Seems to be a timing issue. I changed my script like this

Write-Host "Restarting instance"
Start-Sleep -seconds 60 
Get-NAVServerInstance NAV
Restart-NAVServerInstance NAV | Out-Null
. (Join-Path $runPath $MyInvocation.MyCommand.Name)

And now the instance is stopped

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -v c:\temp:c:\run\my --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is e3cbf6b599da
PublicDnsName is e3cbf6b599da
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 24A81A5262ED49A88C15D2D93BA5B55DEF2A5AF2
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Restarting instance

ServerInstance : MicrosoftDynamicsNavServer$NAV
DisplayName    : Dynamics 365 Business Central Server [NAV]
State          : Stopped
ServiceAccount : NT AUTHORITY\SYSTEM
Version        : 13.0.25924.0
Default        : True

Creating SUPER user
Container IP Address: 172.21.200.94
Container Hostname  : e3cbf6b599da
Container Dns Name  : e3cbf6b599da
Web Client          : https://e3cbf6b599da/NAV/
Admin Username      : admin
Admin Password      : Quzy4019
Dev. Server         : https://e3cbf6b599da
Dev. ServerInstance : NAV

Files:
http://e3cbf6b599da:8080/al-2.0.56865.vsix
http://e3cbf6b599da:8080/certificate.cer

Initialization took 181 seconds
Ready for connections!

Probably already in the process of crashing but not crashed yet in my first try

freddydk commented 5 years ago

And the generation of .cs files (app compilation) is running in the background - still think that is where we need to look.

freddydk commented 5 years ago

In your first log - the IO errors came at 01:13 and the Service tier stopped at 01:33

tfenster commented 5 years ago

Just started with the debug flag and am waiting for the crash

tfenster commented 5 years ago

Here are the sources: https://vincienergies-my.sharepoint.com/:u:/g/personal/tobias_fenster_vinci-energies_net/EUllboRWGG5JtFXzaP2jr3UBqLPxIWRXNTYOV0a-hj-fFg?e=ZWZKKG

How can I find the problematic one with no reference in the logs? What still bothers me is why it would work on the second start, but let's see

freddydk commented 5 years ago

In that dump - only some codeunits are there and a lot of the other objects are empty. The one that I just spun up has a lot more. Will go to bed and think about it, right now I am out of options (except we know that this is where it fails)

freddydk commented 5 years ago

And you are running a standard container (no added bak file or like)?

tfenster commented 5 years ago

yes, really just a docker run with accept_eula and ExitOnError to keep it running: docker run -e accept_eula=y -e ExitOnError=n mcr.microsoft.com/businesscentral/onprem:ltsc2019

Thanks for your help

freddydk commented 5 years ago

total longshot - you didn't move the C:\ProgramData\Docker\windowsfilter to a different location, did you? Is the docker installation 100% standard?

freddydk commented 5 years ago

BTW - I assume that your "fix" to restart the service tier before adding the user only fixes things temporarily - when you start using it, I expect that it will stop the service tier shortly after, right?

tfenster commented 5 years ago

For the installation: It was 100% standard but then I suspected that maybe the ProgramData folder was having some special restrictions and therefore moved the whole graph to c:\dockerfiles. That didn't change anything and I moved it back, still the same result. Other then that it is a plain installation of Docker EE 18.09.0 using the standard PowerShell way.

For the restart fix: Until now I haven't really used the container with the restarted NST but I'll keep it running and see what happens. It should break pretty soon as he C# compilation should be running in the background and get to the same error again, right?

And maybe as additional info: I have a second Server 2019, same standard installation, same problem. I still am quite sure that it is some setting on our side, but it doesn't seem to be a fluke of the one VM

freddydk commented 5 years ago

Yes, it should fail on first connect - or it should successfully compile things on demand. (2nd would be strange) Could you send me the get-ciminstance win32_operatingsystem and computersysem output with fl * in an email? I don't know what I am looking for except for differences.

freddydk commented 5 years ago

You have disables antivirus right?

tfenster commented 5 years ago

Yes, tried that as well, disabled Defender by deactivating all checks (haven't found a big "disable Defender" switch though)

freddydk commented 5 years ago

Forget this, I can see it is en-us: "Looking at the computerinfo - the only thing that springs into mind is, that your server is in german - I have only been running on en-us servers. Is it possible for you to get a server setup with en-us?"

freddydk commented 5 years ago

Your locale is 0407 - mine is 0409 - have a hard time seeing that that should make a difference - but maybe you should try to set regional settings all over and see.

Another thing - try get-service and send me the output in an email - again just for comparison

tfenster commented 5 years ago

The container with the restarted instance is still fine after 30 minutes. I can connect and post invoices. Also the C:\ProgramData\Microsoft\Microsoft Dynamics NAV\130\Server\MicrosoftDynamicsNavServer$NAV\source folder now is way bigger, the zipped content now is 30MB compared to 9MB when it crashes. So it seems that on second startup it successfully compiles the whole application...

freddydk commented 5 years ago

This is getting more and more strange... The eventlog from the container - does it state have a log entry (information) saying something like: The business assemblies for events have been compiled and loaded. The operation took 48177 milliseconds and contained 369 application objects.

tfenster commented 5 years ago

Yes, but it has that even when it fails. If you check the original file here latest-30-application-log.txt, at 11:00:57 the "compiled" message appears

Index              : 733
EntryType          : Information
InstanceId         : 201
Message            : Server instance: NAV
                     Tenant:
                     The business assemblies for events have been compiled and loaded. The operation took 61990 milliseconds and contained 369 application objects.
Category           : (12)
CategoryNumber     : 12
ReplacementStrings : {Server instance: NAV
                     Tenant:
                     The business assemblies for events have been compiled and loaded. The operation took 61990 milliseconds and contained 369 application objects.}
Source             : MicrosoftDynamicsNavServer$NAV
TimeGenerated      : 12/9/2018 11:00:57 PM
TimeWritten        : 12/9/2018 11:00:57 PM
UserName           :

Then the "application was mounted" message appears and 16 seconds later at 11:01:13 the first IO error happens

Category           : (13)
CategoryNumber     : 13
ReplacementStrings : {Server instance: NAV
                     Tenant ID:
                     User:
                     Type: System.IO.IOException
                     Message:
                       A required privilege is not held by the client.

                     StackTrace:
                          at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
                          at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                     bFromProxy, Boolean useLongPath, Boolean checkHost)
                          at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
                          at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheFile(String sourceFileName, String source, Int64 objectTimestamp)
                     Source: mscorlib
                     HResult: -2147023582
                     StackTrace:
                          at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
                          at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                     bFromProxy, Boolean useLongPath, Boolean checkHost)
                          at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
                          at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheFile(String sourceFileName, String source, Int64 objectTimestamp)
                     }
Source             : MicrosoftDynamicsNavServer$NAV
TimeGenerated      : 12/9/2018 11:01:13 PM
TimeWritten        : 12/9/2018 11:01:13 PM
UserName           :
tfenster commented 5 years ago

I am now at locale 0409, but the NST still breaks

PS C:\Windows\system32> (Get-CimInstance Win32_OperatingSystem) | fl *

Status                                    : OK
Name                                      : Microsoft Windows Server 2019 
[...]
Locale                                    : 0409
[...]

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
[...]
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/10/2018 8:39:08 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: b3730bc3-b7f2-4152-9e26-971c38a73f5e
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: c354eeba-f58d-42e8-b66a-da699ba59a87
                EventTime: 12/10/2018 07:39:08
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.
freddydk commented 5 years ago

Could you try to set CompileBusinessApplicationAtStartup to false in CustomSettings.config - then it will compile on demand.

tfenster commented 5 years ago

Same result. Maybe something else is breaking in parallel and this just coincidentally stops compiling the business application?

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N -e customnavsettings=CompileBusinessApplicationAtStartup=false --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is c491e58a48e3
PublicDnsName is c491e58a48e3
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint CA747A3290CEE2EA0CC4F5E83AF93766DD0C0A5B
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting CompileBusinessApplicationAtStartup to false
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/10/2018 10:14:06 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: bef06e36-bd1b-4a75-8391-5c47aaea939f
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 40c62ce0-3e51-4a58-8cba-65c0049280e0
                EventTime: 12/10/2018 09:14:06
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at Microsoft.Dynamics.Nav.Runtime.TempPathHousekeeper.MapClr
                ExceptionAndRethrow(Exception exception)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.GetNavAppGr
                oupAssemblyBucket(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.InitializeN
                avAppGroupAssembly(NavAppGroup appGroup,
                InitializeAppGroupProfiler profiler)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                InnerException:
                RootException: IOException
                ExceptionStackTrace:
                   at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                   at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                   at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                CallerStackTrace:
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.ComposeA
                ndSendExceptionTraceTag(String tag, Category category,
                Exception exception, DiagnosticParameter message, Verbosity
                verbosity, Guid clientSessionId, Guid clientActivityId, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendExce
                ptionTag(String tag, Category category, Exception exception,
                Verbosity verbosity, DiagnosticParameter message, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roupAssembly(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.Apps.NavAppGroupUpdater.Up
                dateGroupForChangedTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeAppsForTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeTenant(NavTenant tenant, NavTenantSettings tenantSettings,
                Boolean overwriteTenantIdInDatabase, Boolean
                verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTen
                ant(NavTenantMountingParameters mountingParameters)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountD
                efaultTenant(String databaseServerName, String databaseName,
                String databaseUserName, ProtectedDatabasePassword
                databasePassword, EncryptionProvider encryptionProvider,
                AzureKeyVaultSettings azureKeyVaultSettings, Boolean
                verifyServerInstanceKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSin
                gleLegacyTenant(String databaseServerName, String
                databaseName, String databaseUserName,
                ProtectedDatabasePassword databasePassword, EncryptionProvider
                encryptionProvider, AzureKeyVaultSettings
                azureKeyVaultSettings)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Config
                ureTenants(ServerUserSettings settings, String encryptionKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTaskFactory.<>c__Displa
                yClass11_0.<StartNewTask>b__0()
                   at System.Threading.Tasks.Task.Execute()
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&
                currentTaskSlot)
                   at System.Threading.Tasks.Task.ExecuteEntry(Boolean
                bPreventDoubleExecution)
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state)
                   at System.Threading.ThreadHelper.ThreadStart(Object obj)

                ProcessId: 6604
                Tag: 0000079
                ThreadId: 11
                CounterInformation:

TimeGenerated : 12/10/2018 10:14:06 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: bef06e36-bd1b-4a75-8391-5c47aaea939f
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 40c62ce0-3e51-4a58-8cba-65c0049280e0
                EventTime: 12/10/2018 09:14:06
                Message (NavClientIOException): ParentException:
                NavClientIOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at Microsoft.Dynamics.Nav.Runtime.TempPathHousekeeper.MapClr
                ExceptionAndRethrow(Exception exception)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.GetNavAppGr
                oupAssemblyBucket(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.InitializeN
                avAppGroupAssembly(NavAppGroup appGroup,
                InitializeAppGroupProfiler profiler)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                InnerException:
                RootException: IOException
                A required privilege is not held by the client.

                ExceptionStackTrace:
                   at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                   at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                   at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTheF
                ile(String sourceFileName, String source, Int64
                objectTimestamp)
                CallerStackTrace:
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.ComposeA
                ndSendExceptionTraceTag(String tag, Category category,
                Exception exception, DiagnosticParameter message, Verbosity
                verbosity, Guid clientSessionId, Guid clientActivityId, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendExce
                ptionTag(String tag, Category category, Exception exception,
                Verbosity verbosity, DiagnosticParameter message, String
                diagnosticsContext, Boolean forceLog)
                   at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.CompileNavA
                ppGroup(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roupAssembly(NavAppGroup appGroup, InitializeAppGroupProfiler
                profiler)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.InitializeAppG
                roup(NavAppGroup appGroup)
                   at Microsoft.Dynamics.Nav.Runtime.Apps.NavAppGroupUpdater.Up
                dateGroupForChangedTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeAppsForTenant(NavTenant tenant)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Initia
                lizeTenant(NavTenant tenant, NavTenantSettings tenantSettings,
                Boolean overwriteTenantIdInDatabase, Boolean
                verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTen
                ant(NavTenantMountingParameters mountingParameters)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountD
                efaultTenant(String databaseServerName, String databaseName,
                String databaseUserName, ProtectedDatabasePassword
                databasePassword, EncryptionProvider encryptionProvider,
                AzureKeyVaultSettings azureKeyVaultSettings, Boolean
                verifyServerInstanceKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSin
                gleLegacyTenant(String databaseServerName, String
                databaseName, String databaseUserName,
                ProtectedDatabasePassword databasePassword, EncryptionProvider
                encryptionProvider, AzureKeyVaultSettings
                azureKeyVaultSettings)
                   at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.Config
                ureTenants(ServerUserSettings settings, String encryptionKey)
                   at Microsoft.Dynamics.Nav.Runtime.NavTaskFactory.<>c__Displa
                yClass11_0.<StartNewTask>b__0()
                   at System.Threading.Tasks.Task.Execute()
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&
                currentTaskSlot)
                   at System.Threading.Tasks.Task.ExecuteEntry(Boolean
                bPreventDoubleExecution)
                   at
                System.Threading.ExecutionContext.RunInternal(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state,
                Boolean preserveSyncCtx)
                   at System.Threading.ExecutionContext.Run(ExecutionContext
                executionContext, ContextCallback callback, Object state)
                   at System.Threading.ThreadHelper.ThreadStart(Object obj)

                ProcessId: 6604
                Tag: 0000079
                ThreadId: 11
                CounterInformation:

TimeGenerated : 12/10/2018 10:14:06 AM
EntryType     : Error
Message       : Server instance: NAV
                Tenant ID:
                User:
                Type: System.IO.IOException
                Message:
                  A required privilege is not held by the client.

                StackTrace:
                     at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                     at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                     at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                     at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTh
                eFile(String sourceFileName, String source, Int64
                objectTimestamp)
                Source: mscorlib
                HResult: -2147023582
                StackTrace:
                     at System.IO.__Error.WinIOError(Int32 errorCode, String
                maybeFullPath)
                     at System.IO.FileStream.Init(String path, FileMode mode,
                FileAccess access, Int32 rights, Boolean useRights, FileShare
                share, Int32 bufferSize, FileOptions options,
                SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
                bFromProxy, Boolean useLongPath, Boolean checkHost)
                     at System.IO.FileStream..ctor(String path, FileMode mode,
                FileAccess access, FileShare share, Int32 bufferSize,
                FileOptions options)
                     at Microsoft.Dynamics.Nav.Runtime.AssemblyGetter.DoWriteTh
                eFile(String sourceFileName, String source, Int64
                objectTimestamp)
freddydk commented 5 years ago

Could you try to run a NAV 2016 container on this machine?

tfenster commented 5 years ago

2016 works:

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N --rm microsoft/dynamics-nav:2016-ltsc2019
Initializing...
Starting Container
Hostname is a63423da9cc3
PublicDnsName is a63423da9cc3
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint E89AC46C32E72C1B88D0FC47675641E2DC0192D1
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating Web Site
Creating Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.24.233.164
Container Hostname  : a63423da9cc3
Container Dns Name  : a63423da9cc3
Web Client          : https://a63423da9cc3/NAV/WebClient/
Admin Username      : admin
Admin Password      : Haka4950

Files:
http://a63423da9cc3:8080/certificate.cer

Initialization took 89 seconds
Ready for connections!

2017 also works

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N --rm microsoft/dynamics-nav:2017-ltsc2019
Initializing...
Starting Container
Hostname is c2286e46510f
PublicDnsName is c2286e46510f
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint A014765D66F176ECA62366C66A42015D69112F34
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating Web Site
Creating Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.24.233.123
Container Hostname  : c2286e46510f
Container Dns Name  : c2286e46510f
Web Client          : https://c2286e46510f/NAV/WebClient/
Admin Username      : admin
Admin Password      : Pymo0059

Files:
http://c2286e46510f:8080/certificate.cer

Initialization took 87 seconds
Ready for connections!

Same for 2018

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N --rm microsoft/dynamics-nav:2018-ltsc2019
Initializing...
Starting Container
Hostname is 6a5956d7e11f
PublicDnsName is 6a5956d7e11f
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 3A42FA4D1D6460B38AAC571C921B882A78F17267
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.24.237.171
Container Hostname  : 6a5956d7e11f
Container Dns Name  : 6a5956d7e11f
Web Client          : https://6a5956d7e11f/NAV/
Admin Username      : admin
Admin Password      : Gawo2147
Dev. Server         : https://6a5956d7e11f
Dev. ServerInstance : NAV

Files:
http://6a5956d7e11f:8080/al-0.12.28462.vsix
http://6a5956d7e11f:8080/certificate.cer

Initialization took 119 seconds
Ready for connections!

BC still fails

freddydk commented 5 years ago

Sorry to taking you through so many things - should we try to start with -e WebClient=N and -e httpsite=N

tfenster commented 5 years ago

Same result

PS C:\Windows\system32> docker run -e accept_eula=y -e ExitOnError=N -e WebClient=n -e httpsite=n --rm mcr.microsoft.com/businesscentral/onprem:latest-ltsc2019
Initializing...
Starting Container
Hostname is 2dd42d7291af
PublicDnsName is 2dd42d7291af
Using NavUserPassword Authentication
Starting Local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 4BD9B8FA08B2E8F85DE4C9D09FD0E111B9D73D58
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/10/2018 11:03:49 AM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: 8bd27923-71d4-447c-981c-b88c3c11345e
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: e3daed13-c05e-47b3-85e6-f825486224ab
                EventTime: 12/10/2018 10:03:49
                Message (NavClientIOException): This message had personal data
                removed. The original may still be in transient telemetry.
                Find it using the transientTelemetryId.
                ParentException: NavClientIOException
                A required privilege is not held by the client.

Happy to test whatever could possibly help as I still think this is something weird on our side

freddydk commented 5 years ago

And there is no info in the event log about which file it is trying to access or write?

freddydk commented 5 years ago

Could you try the latest bcinsider bcsandbox-master? And also bconprem : rtm

Thanks

tfenster commented 5 years ago

I can't find anything but might be missing something. Here are the latest 100 events in Application, System and Security. Let me know if you want me to check anything else

tfenster commented 5 years ago

RTM also crashes but shows an error that seems to indicate to me that this is in fact an extension problem:

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -e WebClient=n -e httpsite=n --rm mcr.microsoft.com/businesscentral/onprem:rtm-ltsc2019
Initializing...
Starting Container
Hostname is a3ba785b1559
PublicDnsName is a3ba785b1559
Using NavUserPassword Authentication
Starting Local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 1B5670D25B17881CF3F6293AF5A9ABE42D9F9DE3
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
ServerInstance 'MicrosoftDynamicsNavServer$NAV' is not running.
at <ScriptBlock>, C:\Run\SetupNavUsers.ps1: line 20
at <ScriptBlock>, C:\Run\navstart.ps1: line 175
at <ScriptBlock>, C:\Run\start.ps1: line 115
at <ScriptBlock>, <No file>: line 1

TimeGenerated : 12/10/2018 12:26:28 PM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: 0dd46139-a30e-48e6-80b3-ca3e0b50853d
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 00000000-0000-0000-0000-000000000000
                EventTime: 12/10/2018 11:26:28
                Message Adding tenant aborted because of an extension failure
                -- Tenant:default
                ProcessId: 5936
                Tag: 000009X
                ThreadId: 11
                CounterInformation:

TimeGenerated : 12/10/2018 12:26:28 PM
EntryType     : Error
Message       : Server instance: NAV
                Category: Extensions
                ClientSessionId: 00000000-0000-0000-0000-000000000000
                ClientActivityId: 0dd46139-a30e-48e6-80b3-ca3e0b50853d
                ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
                ServerActivityId: 00000000-0000-0000-0000-000000000000
                EventTime: 12/10/2018 11:26:28
                Message (NavClientIOException): Please look in
                TransientTelemetry for further details, ID
                14203c30-8032-4a53-a520-de57d53eed88
                ParentException: NavClientIOException
                A required privilege is not held by the client.

bcsandbox-master is pulling right now

tfenster commented 5 years ago

And bcsandbox-master also works!

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N -e WebClient=n -e httpsite=n --rm bcinsider.azurecr.io/bcsandbox-master:ltsc2019
Initializing...
Starting Container
Hostname is 8acb360ab4a6
PublicDnsName is 8acb360ab4a6
Using NavUserPassword Authentication
Starting Local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint CCA0F1D61F4EF5DD95B20BA3D3287901E4FCF97C
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.27.178.7
Container Hostname  : 8acb360ab4a6
Container Dns Name  : 8acb360ab4a6
Admin Username      : admin
Admin Password      : Hozy7366

Initialization took 122 seconds
Ready for connections!
tfenster commented 5 years ago

After wondering for ten minutes why I couldn't access the WebClient (hint: -e WebClient=n is not helping for that test case...) I ran again and now can also confirm that I can log in to the bcsandbox-master WebClient

PS C:\temp> docker run -e accept_eula=y -e ExitOnError=N --rm bcinsider.azurecr.io/bcsandbox-master:ltsc2019
Initializing...
Starting Container
Hostname is 9a9a19c874da
PublicDnsName is 9a9a19c874da
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 1D834957AFA9A4556EA85202C8479927C6169E22
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Creating DotNetCore Web Server Instance
Enabling Financials User Experience
Creating http download site
Creating Windows user admin
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.27.180.148
Container Hostname  : 9a9a19c874da
Container Dns Name  : 9a9a19c874da
Web Client          : https://9a9a19c874da/NAV/
Admin Username      : admin
Admin Password      : Jole1355
Dev. Server         : https://9a9a19c874da
Dev. ServerInstance : NAV

Files:
http://9a9a19c874da:8080/al-2.1.70607.vsix
http://9a9a19c874da:8080/certificate.cer

Initialization took 106 seconds
Ready for connections!

And image