Docker Desktop 通過本地命令運行.net core程序


咱們知道,想要通過docker運行.net core程序,那么我們需要將.net core程序通過Dockerfile制作成鏡像,然后就可以基於鏡像創建容器,同時也可以對鏡像和容器進行導出。然而這樣的方式就會造成docker容器中的日志文件或配置需要進入到docker里面去查看或修改,於是我們通過docker run運行容器時需要增加一個參數--volume , -v,這個參數就是將物理機的磁盤路徑映射到docker磁盤路徑,映射之后物理磁盤的文件就可以覆蓋docker里面對應的目錄文件,我們就可以通過物理文件來間接修改docker文件了,這里有一個原則:docker容器不保存核心數據,所有的核心數據都需要輸入到物理磁盤

通過上面的介紹能夠知道,本地文件可以直接覆蓋docker文件,因此我們也可以使用另外一種方式,那就是不需要通過Dockerfile制作程序鏡像,直接用官方的鏡像mcr.microsoft.com/dotnet/aspnet:3.1,我們只需要將本地的文件夾映射到docker容器里面即可,具體命令如下:

docker run -d -p 8077:80 --name gdnp -v D:/Release/netcoreapp3.1:/app --workdir /app mcr.microsoft.com/dotnet/aspnet:3.1 dotnet /app/WebApplication1.dll

解釋一下:

-d:后台運行

-p:端口映射,物理機的8077端口映射到docker容器的80端口

--name:給容器取一個名字叫gdnp

-v:磁盤映射,物理機的D:/Release/netcoreapp3.1路徑映射到docker容器的/app路徑。因為docker容器是Linux,因此路徑以斜杠開頭(/)

--workdir:啟動容器后的默認工作目錄,因為我們的程序是映射到/app路徑的,因此工作目錄也定義為/app路徑

mcr.microsoft.com/dotnet/aspnet:3.1:這個是鏡像的名稱和版本號,這里我們用的是微軟官方的鏡像

dotnet /app/WebApplication1.dll:容器啟動后需要運行的命令,因為.net core程序的啟動命令是dotnet。因此這樣定義。

更多參數解析可參考:https://www.runoob.com/docker/docker-run-command.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM