gpt4 book ai didi

docker - RUN命令无法访问卷

转载 作者:行者123 更新时间:2023-12-02 21:19:04 24 4
gpt4 key购买 nike

RUN中的dockerfile似乎看不到ENTRYPOINT所在的我的卷目录。

这是一个存在问题的dockerfiledocker-compose.yml的示例:

FROM microsoft/dotnet:2.0-sdk
EXPOSE 5000
ENV ASPNETCORE_ENVIRONMENT=Development
WORKDIR /src/testing
RUN dotnet restore
ENTRYPOINT ["dotnet", "run", "--urls=http://0.0.0.0:5000"]
docker-compose.yml:
version: "3.4"

services:
doctnetcore-api-project:
build: ./api/
container_name: doctnetcore-api-project
image: doctnetcore-api-project:development
restart: 'always'
networks:
- mynetwork
volumes:
- /api/src:/src

networks:
mywebmc:
external:
name: mynetwork

当我运行 docker-compose up时,出现以下错误:
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.
ERROR: Service 'doctnetcore-api-project' failed to build: The command '/bin/sh -c dotnet restore' returned a non-zero code: 1

如果我注释掉 RUN dotnet restore并在运行 dotnet restore之前手动运行 docker-compose,则可以正常工作。

因此,无论出于何种原因, RUN都看不到我的卷目录, ENTRYPOINT却看不到我的卷目录。

最佳答案

Dockerfile中的语句在构建时执行(docker build),并且此时不存在任何卷。

相反,当您运行有权访问潜在映射卷的容器(ENTRYPOINT)时,将执行docker run

关于docker - RUN命令无法访问卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956545/

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