C# 如何让docker toolbox与.net core 2.0项目配合使用
尝试在.NET core 2.0项目中使用Docker功能时出错。我收到一条错误信息,上面说 Visual Studio容器工具要求Docker在 构建、调试或运行容器化项目。欲了解更多信息, 请参阅: 我跟随链接,当我意识到我有Windows10Homex64时,我不得不安装DockerToolbox,而不是DockerforWindows。现在它安装了这个名为 Docker快速启动终端 这是启动docker服务的方式吗?我已经试着运行这个可执行文件,它似乎正在工作。我的容器正在运行,但Visual Studio容器工具的错误仍然存在 我错过了什么?要在Visual Studio 2017中使用Docker容器支持,是否需要高于Home的windows版本 更新: 我试图遵循格茨科特的建议,但在VisualStudio中关于这些工具的错误仍然存在。这是我在Docker快速启动终端中运行的内容。在VisualStudio成功打开该项目后,我尝试构建该项目,但仍然遇到上述关于容器工具的错误 我的devenv.exe文件位于 C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe 我的解决方案文件位于 D:\Development\Visual Studio\Musify2\Musify2\Musify2.sln 更新2:C# 如何让docker toolbox与.net core 2.0项目配合使用,c#,docker,asp.net-core,visual-studio-2017,microservices,C#,Docker,Asp.net Core,Visual Studio 2017,Microservices,尝试在.NET core 2.0项目中使用Docker功能时出错。我收到一条错误信息,上面说 Visual Studio容器工具要求Docker在 构建、调试或运行容器化项目。欲了解更多信息, 请参阅: 我跟随链接,当我意识到我有Windows10Homex64时,我不得不安装DockerToolbox,而不是DockerforWindows。现在它安装了这个名为 Docker快速启动终端 这是启动docker服务的方式吗?我已经试着运行这个可执行文件,它似乎正在工作。我的容器正在运行,但Vis
我在docker quickstart终端中运行了一些建议的命令,下面是使用docker Toolbox使用quetz这些命令的结果,这有点棘手,但实际上core-2.0与此无关。这都是关于docker、docker工具箱和VS 首先: 这是启动docker服务的方式吗?我已经试着运行这个可执行文件,它似乎正在工作 是的。如果docker机器/服务正在运行-这很好 现在,您必须意识到,在docker中,关于docker运行方式/位置的信息通常保存在环境变量中。
quickstart
脚本不仅为您启动docker机器并检查一些基本内容,它还设置了一些环境变量,以便以后所有的命令(如docker
、docker compose
等)都知道在哪里查找docker虚拟机。在您/我们的情况下,信息主要由VM的IP和Docker侦听的端口号组成
。。您的Visual Studio对此一无所知,因为我敢打赌,您已经从StartMenu或桌面图标或双击解决方案文件运行了VisualStudio,因此它没有机会从quickstart
控制台获取环境变量
解决方案非常简单:确保VS获得这些信息。也就是说,确保它获得环境变量,和确保它获得它们的新鲜状态,因为IP/端口有时可能会波动。所以不要只是将它们复制到你的操作系统设置中,因为没有任何东西会自动刷新它们
我发现的最简单的方法是关闭Visual Studio,运行docker toolbox quickstart控制台,然后从该控制台运行VisualStudio,例如,对于我的VS2017社区版:
Starting "default"...
(default) Check network to re-create if needed...
(default) Waiting for an IP...
(.......snip..........)
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
quetzalcoatl@LAP049 MINGW32 ~
$ /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/Common7/IDE/devenv.exe C:\\PATH\\TO\\MY\\SOLUTION.sln
写的路径相当长,即使有制表符完成,所以通常会制作一个小的.sh
脚本来为我运行它
顺便说一句!请注意,到DEVENV的路径必须类似于unix(
/c/Program\Files…
),因为mingw shell必须理解这一点,而到解决方案的路径必须是正常的windows路径(c:\projects\foo\bar\…
)因为VisualStudio将在启动后尝试读取这些内容。这就是我使用docker toolbox在windows 10 home上运行vs 2017所做的工作。你遵循这一点,我保证它会起作用。注意:这仅适用于不支持本机docker for windows应用程序的windows 10 home: