回到目錄 大叔感覺網上對Dockerfile的說明不是很清楚,或者說怎麼去用說的不清楚,在vs2017里我們可以去建立自己的Dockerfile文件,然後你的項目可以被生成一個鏡像,把它推到倉庫之後,你可以在linux,mac上去run你的項目了!聽著很爽,但過程確實有些坑! Dockerfile里 ...
大叔感覺網上對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的一個參數而以。