How run docker with MSDTC appliction

0

Host virtual machine Windows Server 2019 with MS SQL 2017. Application works and make two insert via MSDTC on high port. When I try to run this application in docker I return error.

Container and host ping each other, and resolve DNS. Container have configured gMSA and MSDTC.

Set-DtcNetworkSetting -DtcName 'Local' -AuthenticationLevel 'NoAuth' -InboundTransactionsEnabled $True -OutboundTransactionsEnabled $True -RemoteClientAccessEnabled $True -RemoteAdministrationAccessEnabled $True -XATransactionsEnabled $True -LuTransactionsEnabled $True

First insert goes OK. Second insert returns an error.

Unhandled Exception: System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. ---> System.Runtime.InteropServices.COMExce ption: The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)

Try Docker network as nat with expose, transparent or l2bridge doesn't matter. It doesn't work.

Adam Wawrzyniak

Posted 2019-04-11T13:22:10.410

Reputation: 1

I suggest starting this off with a short question so it's easier to figure out what you need help on. – KAE – 2019-04-11T19:54:52.383

No answers