如何从docker-compose.ci.build.yml文件构build&推送容器

我正在使用ASP.NET Core,并使用Visual Studio的“ 添加Docker支持”function来开始。 这将docker-compose.ci.build.yml文件添加到我的项目中,该项目应该在CI服务器上使用。

如何从撰写文件构buildDocker镜像并将镜像推送到我的私有Dockerregistry。 我已经尝试了docker-compose build命令:

docker-compose -f docker-compose.ci.build.yml build

但是这会输出一个错误:

ci-build使用图像,跳过

我遇到了一些问题,最初build立这个。 修复包括更新Visual Studio 2017到更新4,更新用于Docker扩展的Visual Studio工具,以及更新/合并NuGet包引用。 另外,在docker-compose.ci.build.yml我必须将构build映像更改为microsoft/aspnetcore-build:1.0-2.0-stretch (有关更多详细信息,请参阅此GitHub问题 )。

假设docker-composeconfiguration与默认生成configuration相同/类似,请尝试以下脚本:

 $ docker-compose -f docker-compose.ci.build.yml up $ docker-compose -f docker-compose.yml build 

引入“up” docker-compose.ci.build.yml只需构build项目然后退出。 工件被发布到obj/Docker/publish文件夹。 “构build” docker-compose.yml实际上是使用obj/Docker/publish文件夹中的工件构build和标记图像。 我在构build脚本的末尾清理了以下内容:

 $ docker-compose -f docker-compose.ci.build.yml down 

作为参考/灵感 – 这是一个定制的Linux构build服务器,并从一个解决scheme生成四个Docker镜像 – 两个ASP.NET Core应用程序和两个.NET Core应用程序。