DotNetCore跨平臺~Dockerfile的解釋
阿新 • • 發佈:2018-12-29
大叔感覺網上對Dockerfile的說明不是很清楚,或者說怎麼去用說的不清楚,在vs2017裡我們可以去建立自己的Dockerfile檔案,然後你的專案可以被生成一個映象,把它推到倉庫之後,你可以在linux,mac上去run你的專案了!聽著很爽,但過程確實有些坑!
Dockerfile裡的解答
- From 基礎依賴映象
- ARG 輸入一個引數,這裡指你Dockerfile所在的目錄
- EXPOSE 對外開放的埠
- COPY ${source:-bin/publish} ./hello 把source所在的目錄下的,bin/publish子目錄的內容複製到容器的hello目錄
- WORKDIR hello 把當前容器目前改為hello目錄
- ENTRYPOINT ["dotnet", "dockerMvc.dll"] 執行donet命令,引數是dockerMvc.dll
在命令列裡執行docker build
首先使用cd把當前目錄定在專案目錄,如E:\GitHub\dotnet\dockerMvc\dockerMvc
然後輸入docker build "bin\Release\PublishOutput" ,注意這個引數是指你Dockerfile所有的目錄,並且它是相對於當前來說的,所有目錄層次關係要搞清楚,而你要程式目錄可能是這個目錄下面的bin/publish目錄.
最後,我們的images就被成功建立了docker images
其時,最初,大叔認為docker build在執行時,必須把當前目錄定在Dockerfile所有目錄,經過今天的測試才知道,你完全可以把它重新指定,它與當前上當無關,只是build的一個引數而以。