1. 程式人生 > >DotNetCore跨平臺~Dockerfile的解釋

DotNetCore跨平臺~Dockerfile的解釋

大叔感覺網上對Dockerfile的說明不是很清楚,或者說怎麼去用說的不清楚,在vs2017裡我們可以去建立自己的Dockerfile檔案,然後你的專案可以被生成一個映象,把它推到倉庫之後,你可以在linux,mac上去run你的專案了!聽著很爽,但過程確實有些坑!

Dockerfile裡的解答

  1. From  基礎依賴映象
  2. ARG 輸入一個引數,這裡指你Dockerfile所在的目錄
  3. EXPOSE  對外開放的埠
  4. COPY ${source:-bin/publish} ./hello  把source所在的目錄下的,bin/publish子目錄的內容複製到容器的hello目錄 
  5. WORKDIR hello    把當前容器目前改為hello目錄
  6. 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的一個引數而以。

回到目錄