如何将asp.net应用程序部署到Linux服务器上的docker容器?
我已经在Linux服务器上安装了docker引擎。在我的桌面Visual Studio 2015上,我创建了一个asp.net应用程序。现在我想将它发布到Linux服务器并创建一个docker映像 我遵循了这一点 我没有azure帐户,我想使用自己的Linux服务器。接下来,我单击了如何将asp.net应用程序部署到Linux服务器上的docker容器?,asp.net,docker,visual-studio-2015,dnx,Asp.net,Docker,Visual Studio 2015,Dnx,我已经在Linux服务器上安装了docker引擎。在我的桌面Visual Studio 2015上,我创建了一个asp.net应用程序。现在我想将它发布到Linux服务器并创建一个docker映像 我遵循了这一点 我没有azure帐户,我想使用自己的Linux服务器。接下来,我单击了Docker容器。界面变成: 然后我单击了自定义Docker主机,并按下了OK按钮 界面是 现在,我将图像名称输入为DockerDemo。此外,我还键入服务器url,类似于tcp://12.16.45.56:8
Docker容器
。界面变成:
然后我单击了自定义Docker主机
,并按下了OK按钮
界面是
现在,我将图像名称输入为DockerDemo
。此外,我还键入服务器url,类似于tcp://12.16.45.56:8080
。验证连接是否正常,然后转至下一步
我终于明白了:
但是,我在发布过程中出错
严重性代码说明项目文件行抑制状态
错误发布期间发生错误。
命令[docker-H]tcp://12.16.45.56:8080 build-t DockerDemo-f“C:\Users\me\AppData\Local\Temp\PublishTemp\DockerDemo63\approt\src\DockerDemo\Dockerfile”“C:\Users\me\AppData\Local\Temp\PublishTemp\DockerDemo63”]已退出,代码为:“docker”未被识别为内部或外部命令,
可操作的程序或批处理文件。
请访问以获取故障排除指南。DockerDemo 0
顺便说一下,我使用的框架是:
"frameworks": {
"dnx451": { },
"dnxcore50": { }
}
谢谢你的帮助 Visual Studio在本地计算机上找不到
docker
命令。它需要将其作为客户端连接到Linux服务器上的docker守护进程。最简单的方法是从此处安装Docker Toolbox:
如果仍然找不到Docker命令,您可能必须卸载并重新安装“Visual Studio 2015 Docker工具”,或手动添加到Powershell的$env:Path
此外,图像名称不得包含大写字符。使用
dockerdemo
而不是dockerdemo
好吧,它听起来像是试图运行docker,但它没有出现在它试图运行的路径上。可能是个bug,因为它应该知道在哪里找到它。但作为一种解决方法,请尝试将Docker可执行文件的路径添加到系统的path环境变量中,然后重新启动Visual Studio并重试。@mason,原谅我的无知。Docker可执行文件的路径是什么?你能给我举个例子吗?我不知道。使用工具在计算机上搜索它?“还是?”梅森,很抱歉我说的不清楚。我在Windows7桌面上编写了asp.net。但是docker容器应该位于远程Linux服务器上。我的Windows桌面没有安装docker。问题是Visual Studio需要安装docker(在您的开发窗口盒上),以便创建一个docker容器,然后您可以将其部署到Linux盒中。我安装了工具箱,环境变量PATH
现在就包含了它。为什么它仍然失败?我在C:\Program Files\docker Toolbox下有docker.exe
;Docker.exe是否在您的路径上?如果失败,您是否重新启动了VS.NET?错误消息是否有任何变化?是的,我确定,我重新启动了,而不是相同的错误消息。否,如果您将命令键入为PS C:\Users\Me>docker
。该术语不被认可。但是我检查了PATH
变量,它(C:\Program Files\Docker Toolbox;)就在那里。在该文件夹下,有docker.exe
。docker工具箱是安装VS 2015 docker工具的先决条件。删除并重新安装这些工具可能是最简单的。或者,您可以在此处更改Powershell路径: