Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将asp.net应用程序部署到Linux服务器上的docker容器?_Asp.net_Docker_Visual Studio 2015_Dnx - Fatal编程技术网

如何将asp.net应用程序部署到Linux服务器上的docker容器?

如何将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

我已经在Linux服务器上安装了docker引擎。在我的桌面Visual Studio 2015上,我创建了一个asp.net应用程序。现在我想将它发布到Linux服务器并创建一个docker映像

我遵循了这一点

我没有azure帐户,我想使用自己的Linux服务器。接下来,我单击了
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路径: