मैं विंडोज सर्वर 2016 TP4 पर एक विंडोज कंटेनर में दृश्य स्टूडियो रिमोट डीबगर को चलाने के लिए प्रयास करें। चूंकि यह एक कंटेनर के अंदर चलता है, इसलिए कोई यूआई नहीं है।विंडोज कंटेनर में दृश्य स्टूडियो रिमोट डीबगर चल रहा है (डोकर प्रबंधित)
.\msvsmon.exe /nostatus /silent /nosecuritywarn /nofirewallwarn /noclrwarn /port 4020
मैं व्यवस्थापक उपयोगकर्ता (NT अधिकार \ प्रणाली) के रूप में ऊपर को क्रियान्वित कर रहा हूँ:
मैं के माध्यम से दूरस्थ डीबगर को चलाने के लिए प्रयास करें। यह होस्ट कंप्यूटर पर ठीक काम करता है, लेकिन यह कंटेनर के अंदर काम नहीं करता है। विंडोज इवेंट लॉग निम्न त्रुटि घटना दिखाता है।
Msvsmon was unable to start a server named "`6D2D071453C5:4020`".
The following error occurred: The parameter is incorrect.
पूरा ईवेंट लॉग:
Get-EventLog -LogName Application -EntryType Error | format-list
Index : 1718
EntryType : Error
InstanceId : 3221226473
Message : The description for Event ID '-1073740823' in Source 'Visual Studio Remote Debugger' cannot be found. The local computer may not have the necessary registry information or message DLL
files to display the message, or you may not have permission to access them. The following information is part of the event:'Msvsmon was unable to start a server named
'6D2D071453C5:4020'. The following error occurred: The parameter is incorrect.
View Msvsmon's help for more information.'
Category : (0)
CategoryNumber : 0
ReplacementStrings : {Msvsmon was unable to start a server named '6D2D071453C5:4020'. The following error occurred: The parameter is incorrect.
View Msvsmon's help for more information.}
Source : Visual Studio Remote Debugger
TimeGenerated : 05.04.2016 9:47:19 AM
TimeWritten : 05.04.2016 9:47:19 AM
UserName : NT AUTHORITY\SYSTEM
मैं कंटेनर के होस्ट नाम के बारे में एक मुद्दा देखा है, लेकिन इस जा तय कर सकते हैं:
6D2D071453C5
मेरे Windows कंटेनर के कंटेनर आईडी है (डॉकर प्रबंधित):
PS C:> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d2d071453c5 d9d15fbca6d7 "cmd /S /C 'C:\\myprg-" 6 days ago Up 3 days derrin
आमतौर पर, डॉकर में, यह कंटेनर आईडी भी होस्टनाम कंटेनर के अंदर/होगा।
तो, जब मैं docker inspect 6d2d071453c5
चलाने के लिए, मैं इस उत्पादन में मिलता है:
"Config": {
"Hostname": "6d2d071453c5",
"Domainname": "",
लेकिन फिर भी, कंटेनर के अंदर, मैं टाइप "hostname
" कमांड लाइन में और मिलती है:
PS C:> hostname
test2016
यह इस समय विंडोज सर्वर 2016 टीपी 4/विंडोज कंटेनर के लिए विशिष्ट बग है। होस्टनाम test2016
(कंटेनर होस्ट का नाम, मेरा वास्तविक भौतिक Win2016 सर्वर) नहीं होना चाहिए लेकिन कंटेनर आईडी (6d2d071453c5
) होना चाहिए। कम से कम, यह मेरा अपेक्षित व्यवहार होगा और यह भी मामला है जब मैं किसी अन्य कंटेनर को चलाता हूं, यानी एक उबंटू कंटेनर, विंडोज़ पर जिसके लिए वीएम की आवश्यकता होती है। मैंने बस इसे फिर से चेक किया।
फिर भी, इस मुद्दे को नाकाम करने के लिए, मैं मेजबान फ़ाइल को समायोजित बताया:
172.16.0.2 6d2d071453c5
अब मैं कम से कम अपने ही होस्ट नाम पिंग कर सकते हैं।
PS C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64> ping 6D2D071453C5
Pinging 6d2d071453c5 [172.16.0.2] with 32 bytes of data:
Reply from 172.16.0.2: bytes=32 time<1ms TTL=128
Reply from 172.16.0.2: bytes=32 time<1ms TTL=128
फिर भी, दूरस्थ डीबगर अभी भी शुरू नहीं करता है, और अभी भी कहते हैं:
Msvsmon was unable to start a server named "`6D2D071453C5:4020`".
The following error occurred: The parameter is incorrect.
मैं नहीं दिख रहा है क्या मानकों से किसी के साथ गलत क्या है, के साथ मदद फ़ाइल है कि सभी सूचीबद्ध करता है के अनुसार पैरामीटर और विकल्प। कंटेनर होस्ट के अंदर नहीं, एक ही कमांड कंटेनर होस्ट पर ठीक काम करता है।
क्या किसी ने कंटेनर के अंदर काम करने के लिए रिमोट डीबगर प्राप्त किया है?
======= अद्यतन ======
के रूप में नीचे का सुझाव, मैं होस्ट नाम पैरामीटर की कोशिश की। मुझे अब ईवेंट लॉग में कोई त्रुटि दिखाई नहीं दे रही है, लेकिन मुझे यह भी नहीं लगता कि बंदरगाह 4020 पर कुछ भी सुन रहा है।
निर्देशिका में कंटेनर के अंदर निष्पादित सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 14.0 \ Common7 \ आईडीई \ रिमोट डीबगर \ 64:
> hostname
WIN-DE6U4068NAF
> ".\msvsmon.exe /nostatus /silent /nosecuritywarn /nofirewallwarn /noclrwarn /port 4020 /hostname WIN-DE6U4068NAF"
.\msvsmon.exe /nostatus /silent /nosecuritywarn /nofirewallwarn /noclrwarn /port 4020 /hostname WIN-DE6U4068NAF
> netstat -ab | find "4020"
>
होस्टनाम के संबंध में जोड़ा गया डॉकर समस्या: https://github.com/docker/docker/issues/21762 –
होस्टनाम समस्या सर्वर 2016 टीपी 4 में एक ज्ञात विंडोज कंटेनर समस्या प्रतीत होती है, https://github.com देखें/डोकर/डोकर/मुद्दों/21762 # issuecomment-205,904,128। हालांकि, मेरा मूल सवाल बनी हुई है। –
होस्टनाम समस्या सर्वर 2016 टीपी 5 में हल हो गई है, हालांकि, अभी भी रिमोट डीबगर को इस पर काम करने के लिए नहीं मिला है। –