{"id":76494,"date":"2020-04-02T13:42:51","date_gmt":"2020-04-02T11:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine"},"modified":"2020-04-02T13:42:51","modified_gmt":"2020-04-02T11:42:51","slug":"docker-i-vmware-workstation-na-odnoj-windows-mashine","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine","title":{"rendered":"Docker and VMWare Workstation on the same Windows machine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The task was simple, to install Docker on my Windows work laptop, which already had a mix of different software. I installed Docker Desktop, created containers, everything was fine, but I quickly discovered that VMWare Workstation stopped launching virtual machines with an error:<\/p>\n<pre><code class=\"plaintext\">VMware Workstation and Device\/Credential Guard are not compatible. VMware Workstation can be run after disabling Device\/Credential Guard.<\/code><\/pre>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Work came to a halt; it needs urgent fixing.<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Docker and VMWare Workstation on the same Windows machine\" src=\"\/wp-content\/uploads\/2020\/04\/157299268bdbdeb1c7fb329cd48f0239.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThrough some Googling, I found out that this error occurs due to the incompatibility of VMWare Workstation and Hyper-V on the same machine. This is a known issue, and there is an official solution from VMWare on how to <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/2146361\">fix it<\/a><\/noindex>, with a link to the Microsoft knowledge base <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/security\/identity-protection\/credential-guard\/credential-guard-manage\">Manage Windows Defender Credential Guard<\/a><\/noindex>. The solution involves disabling Defender Credential Guard (I found step 4 in the section Disable Windows Defender Credential Guard helpful):<\/p>\n<pre><code class=\"plaintext\">mountvol X: \/s\ncopy %WINDIR%\\System32\\SecConfig.efi X:\\EFIMicrosoftBootSecConfig.efi \/Y\nbcdedit \/create {0cb3b571-2f2e-4343-a879-d86a476d7215} \/d \"DebugTool\" \/application osloader\nbcdedit \/set {0cb3b571-2f2e-4343-a879-d86a476d7215} path \"EFIMicrosoftBootSecConfig.efi\"\nbcdedit \/set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}\nbcdedit \/set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO\nbcdedit \/set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:\nmountvol X: \/d<\/code><\/pre>\n<p>\nAfter restarting Windows, it will ask if you really want to disable Defender Credential Guard. Yes! Thus, VMWare Workstation will return to normal operation, and we will be back in the same situation we were before installing Docker.<\/p>\n<p>I did not find a solution on how to reconcile Hyper-V and VMWare Workstation; I hope they will get along in future versions. <\/p>\n<h3>Another way<\/h3>\n<p>\nI have been using VMWare Workstation for various purposes for a long time, tried to switch to Hyper-V and VirtualBox, but the functionality did not meet my needs, so I'm still here. It turns out there is a solution to integrate VMWare, Docker, and VSCode in one working environment.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/machine\/overview\/\"><b>Docker Machine<\/b><\/a><\/noindex> \u2014 allows you to run Docker Engine on a virtual host and connect to it both remotely and locally. There is a compatibility driver for VMWare Workstation for it, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pecigonzalo\/docker-machine-vmwareworkstation\">link to GitHub<\/a><\/noindex><\/p>\n<p>I won\u2019t go over the installation instructions, just a list of ingredients:<\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/toolbox\/toolbox_install_windows\/\">Docker Toolbox<\/a><\/noindex> (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/machine\/install-machine\/\">Docker Machine<\/a><\/noindex> included)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pecigonzalo\/docker-machine-vmwareworkstation\">Docker Machine VMware Workstation Driver<\/a><\/noindex><\/li>\n<li>Docker Desktop<\/li>\n<\/ol>\n<p>\nYes, unfortunately, Docker Desktop will also be needed. If you uninstalled it, reinstall it, but this time uncheck the box for making changes to the OS so as not to break VMWare Workstation again.<\/p>\n<p><i>I want to note that everything works perfectly from a regular user; the installation programs will request permission escalation when needed, but all commands in the command line and scripts are executed from the current user.<\/i><\/p>\n<p>As a result, with the command:<\/p>\n<pre><code class=\"powershell\">$ docker-machine create --driver=vmwareworkstation dev<\/code><\/pre>\n<p>\nA virtual machine named dev will be created from Boot2Docker, within which Docker will run.<\/p>\n<p>This virtual machine can be attached to the graphical interface of VMware Workstation by opening the corresponding vmx file. However, this is not necessary, as VSCode will now require launching with a PowerShell script (for some reason, docker-machine and docker-machine-driver-vmwareworkstation ended up in the bin folder):<\/p>\n<pre><code class=\"powershell\">cd ~\/bin\n.\/docker-machine env dev | Invoke-Expression\ncode<\/code><\/pre>\n<p>\nVSCode will open for working with code on the local machine and Docker in the virtual machine. The plugin <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.vscode-docker\">Docker for Visual Studio Code<\/a><\/noindex> allows easy management of containers in the virtual machine without accessing the console.<\/p>\n<p><b>Challenges:<\/b><\/p>\n<p>During the creation of docker-machine, the process hung: <\/p>\n<pre><code class=\"powershell\">Waiting for SSH to be available...<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Docker and VMWare Workstation on the same Windows machine\" src=\"\/wp-content\/uploads\/2020\/04\/59b66a626adca5d37cb853a553b3c4d4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnd after some time, it failed due to exceeding the attempts to connect to the virtual machine.<\/p>\n<p>The issue lies in certificate policies. When creating the virtual machine, a directory ~.dockermachinemachinesdev will appear, containing the SSH connection certificate files: id_rsa, id_rsa.pub. OpenSSH may refuse to use them, considering there are issues with access rights. However, docker-machine won't inform you about this, but will simply keep reconnecting until it gets tedious.<\/p>\n<p><b>Solution:<\/b> Once the creation of a new virtual machine starts, navigate to the directory ~.dockermachinemachinesdev and change the permissions on the specified files, one by one.<\/p>\n<p>The file's owner must be the current user, with full access only for the current user and SYSTEM. All other users, including the administrators group and administrators themselves, should be removed.<\/p>\n<p>There may also be issues with converting absolute paths from Windows format to Posix, and with binding volumes containing symbolic links. But that's another story.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/495150\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Docker \u043d\u0430 \u0441\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 Windows, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0438 \u0442\u0430\u043a \u0437\u043e\u043e\u043f\u0430\u0440\u043a. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043b Docker Desktop \u0441\u043e\u0437\u0434\u0430\u043b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u0432\u0441\u0451 \u043e\u043a, \u0432\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e VMWare Workstation \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0438 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439: VMware Workstation and Device\/Credential Guard are not compatible. VMware Workstation can be run after disabling Device\/Credential Guard. \u0420\u0430\u0431\u043e\u0442\u0430 \u0432\u0441\u0442\u0430\u043b\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":76495,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-76494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u0430\u0434\u0430\u0447\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Docker \u043d\u0430 \u0441\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 Windows, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0438 \u0442\u0430\u043a \u0437\u043e\u043e\u043f\u0430\u0440\u043a.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Docker \u0438 VMWare Workstation \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 Windows \u043c\u0430\u0448\u0438\u043d\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0430\u0434\u0430\u0447\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Docker \u043d\u0430 \u0441\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 Windows, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0438 \u0442\u0430\u043a \u0437\u043e\u043e\u043f\u0430\u0440\u043a.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-02T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-02T11:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Docker and VMWare Workstation on the same Windows machine | ProHoster","description":"The task was simple: to install Docker on my work laptop with Windows, which already had a mishmash of applications.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Docker \u0438 VMWare Workstation \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 Windows \u043c\u0430\u0448\u0438\u043d\u0435 | ProHoster","og:description":"\u0417\u0430\u0434\u0430\u0447\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c Docker \u043d\u0430 \u0441\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 Windows, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u0436\u0435 \u0438 \u0442\u0430\u043a \u0437\u043e\u043e\u043f\u0430\u0440\u043a.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/docker-i-vmware-workstation-na-odnoj-windows-mashine","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-02T11:42:51+00:00","article:modified_time":"2020-04-02T11:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76494","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:35:42","updated":"2022-09-28 07:26:54","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/76494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=76494"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/76494\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/76495"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=76494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=76494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=76494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}