gpt4 book ai didi

docker - 带Linux Docker容器的Asp.net核心

转载 作者:行者123 更新时间:2023-12-02 19:07:42 25 4
gpt4 key购买 nike

对于VS 2017中的asp.net核心项目模板,有do​​cker-compose.ci.build.yml:

version: '3'

services:
ci-build:
image: microsoft/aspnetcore-build:1.0-2.0
volumes:
- .:/src
working_dir: /src
command: /bin/bash -c "dotnet restore ./WebAppCoreDockerTest.sln && dotnet publish ./WebAppCoreDockerTest.sln -c Release -o ./obj/Docker/publish"

docker-compose.yml:
version: '3'

services:
webappcoredockertest:
image: webappcoredockertest
ports:
- 8080:80
build:
context: ./WebAppCoreDockerTest
dockerfile: Dockerfile

和Dockerfile:
FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
RUN echo "Oh dang look at that $source"
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "WebAppCoreDockerTest.dll"]

如果源参数为null并且docker-compose.ci.build.yml将项目推向obj / Docker / publish,则Dockerfile使用obj / Docker / publish中的文件(复制到容器),我认为它们是相关的。

因此,问题是 如何与一起使用? (docker-compose.ci.build.yml将文件发布到obj / Docker / publish,并且Dockerfile使用已发布的文件)

最佳答案

如您所述,docker-compose.ci.build.yml文件用于构建项目。它使用的aspnetcore-build基本镜像比Dockerfile使用的aspnetcore镜像重得多。 docker-compose.yml文件的Dockerfile部分使用了build

一切都可以通过以下两个步骤进行:

  • docker-compose -f docker-compose.ci.build.yml run ci-build
  • docker-compose up --build

  • 第一个命令中的 -f选项允许您指定默认 docker-compose.yml以外的撰写文件。

    关于docker - 带Linux Docker容器的Asp.net核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47278497/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com