按照Red Hat提供的一些說明,我剛剛開始在RHEL 7上使用.NET Core和Docker。在RHEL上拒絕訪問project.lock.json - .NET Core
我創建使用dotnet new -t web
一個.NET的核心MVC應用程序,然後創建了Dockerfile
該文件夾中,有以下內容:
FROM registry.access.redhat.com/dotnet/dotnetcore-11-rhel7
ADD . /opt/app-root/src/
WORKDIR /opt/app-root/src/
EXPOSE 5000
RUN ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet restore"]
RUN ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet build"]
CMD ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet run"]
我再嘗試運行
打造泊塢窗圖像docker build -t mvc_docker
其中mvc_docker
既是我在運行docker build
命令時所在文件夾的名稱,也是我嘗試創建的映像的名稱。
一切dotnet restore
期間看起來不錯,但後來我在控制檯收到此錯誤:
error: Access to the path '/opt/app-root/src/project.lock.json' is denied.
目前還沒有app-root
目錄在我的RHEL虛擬機的/opt
目錄 - 我是否需要手動創建一個,或者我應該期望Docker在Dockerfile
中指定的目標目錄路徑中創建任何目錄?
更新:所以我手動創建了/opt/app-root/src
路徑但仍然得到相同的錯誤,並且當我在src
文件夾中ls -la
沒有文件。
我的Dockerfile內容是否不正確?我可以在我的項目文件夾中運行從bash提示符dotnet restore
併成功完成後,也說
Lock file has not changed. Skipping lock file write.
但是,這是在我的項目文件夾中的文件鎖定,而不是我的目標文件夾中/opt
的任何文件。