我想使用Visual Studio 2015在Docker容器中发布.net应用程序。
然而,在步骤:发布。我没有看到Docker Containers。
我安装了Docker Toolbox,VS2015 for Docker工具。
感谢您的帮助。
答案 0 :(得分:0)
我目前还不知道为.NET发布Docker容器的GUI工具。 Docker来自Linux世界,其中大部分工作都是在命令行上完成的,并且手动编辑配置文件。以下是在docker容器中运行.NET进程所需遵循的基本过程。
第1号我将让您按照Docker网站上轻松找到的平台说明进行操作。
这样的事情,首先是:
# Import the appropriate base container supplied by Microsoft
FROM microsoft/aspnetcore:1.1.0
# Name your process
LABEL Name=mercury.docker.core-api Version=1.1.0
# Maps a folder on the host machine into the container, naming it SOURCE
ARG source=./app
# Creates a folder in the container and makes it the woring folder
WORKDIR /app
# Copies you application binaries from where you have put them (see next section) into the container
COPY $source .
EXPOSE 80
ENTRYPOINT dotnet <you-main-app-file>.dll
步骤:
在project.json文件中指定要定位的环境,并确保为正确的环境构建和发布项目。例如,我们将容器定位为在Ubuntu上运行,因此我们需要build
和publish
我们的该平台的二进制文件(目前为ubuntu.14.04-x64
)。 此阶段在Visual Studio 2015 Update 3中不起作用,因此请使用命令行。在项目主目录中:
dotnet build -r ubuntu.14.04-x64 --build-profile --configuration Release
dotnet publish -r ubuntu.14.04-x64 --configuration Release -o ./bin/Release/Publish
所需的二进制文件现在位于./bin/Release/Publish文件夹中。 Dockerfile当前需要它们位于Dockerfile所在目录的/ app子文件夹中,所以
然后在您的Docker快速入门终端窗口(如果使用Docker Toolbox,您似乎是),或运行Ubuntu命令行,CD到您的dockerfile所在的文件夹并运行:
docker build -t <name_you_want_to_use_for_your_image> .
docker run -d -p 5500:80 -t <name_you_want_to_use_for_your_image>
现在使用docker-machine ip default
返回的docker-machine的IP地址测试API:
curl http://<ip-address>:5500/<path appropriate for your api>>
这应该返回预期的JSON。