且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-11-06 17:34:07

Visual Studio在本地计算机上找不到 docker 命令。它需要它作为客户端连接到Linux服务器上的docker守护程序。最简单的方法是从此处安装Docker Toolbox:



https://www.docker.com/products/docker-toolbox



您可能需要卸载并重新安装 Visual Studio 2015 Tools for Docker,或者如果仍然找不到docker命令,则手动将其添加到Powershell的 $ env:Path 中。



此外,您的图像名称不得包含大写字符。使用 dockerdemo 而不是 DockerDemo


I have installed docker engine on a Linux server. On my desktop's Visual Studio 2015, I created an asp.net application. Now I want to publish it to the Linux server and create a docker image.

I followed this step.

I don't have an azure account and I want to use my own Linux server. So next, I clicked the Docker Containers. The interface became:

Then I clicked Custom Docker Host and pressed OK button.

The interface was

Now I input the image name as DockerDemo. Also I type the server url something like tcp://12.16.45.56:8080. Validate connection is okay then go to the next step.

Finally I get this:

However I get an error during publish.

Severity Code Description Project File Line Suppression State Error An error occured during publish. The command [docker -H tcp://12.16.45.56:8080 build -t DockerDemo -f "C:\Users\me\AppData\Local\Temp\PublishTemp\DockerDemo63\approot\src\DockerDemo\Dockerfile" "C:\Users\me\AppData\Local\Temp\PublishTemp\DockerDemo63"] exited with code 1: 'docker' is not recognized as an internal or external command, operable program or batch file. Please visit http://go.microsoft.com/fwlink/?LinkID=529706 for troubleshooting guide. DockerDemo 0

By the way, the framework I am using is:

  "frameworks": {
  "dnx451": { },
  "dnxcore50": { }
}

Thanks for help!

Visual Studio can't find the docker command on your local computer. It needs this as a client to connect to the docker daemon on your Linux server. The easiest way to do this is to install Docker Toolbox from here:

https://www.docker.com/products/docker-toolbox

You may have to uninstall and re-install "Visual Studio 2015 Tools for Docker" or manually add to Powershell's $env:Path if the docker command still can't be found.

Also, your Image Name must not contain uppercase characters. Use dockerdemo rather than DockerDemo.