DotNetCore跨平台~Dockerfile的解释
大叔感覺網(wǎng)上對(duì)Dockerfile的說明不是很清楚,或者說怎么去用說的不清楚,在vs2017里我們可以去建立自己的Dockerfile文件,然后你的項(xiàng)目可以被生成一個(gè)鏡像,把它推到倉庫之后,你可以在linux,mac上去run你的項(xiàng)目了!聽著很爽,但過程確實(shí)有些坑!
Dockerfile里的解答
From? 基礎(chǔ)依賴鏡像
ARG 輸入一個(gè)參數(shù),這里指你Dockerfile所在的目錄
EXPOSE 對(duì)外開放的端口
COPY ${source:-bin/publish} ./hello 把source所在的目錄下的,bin/publish子目錄的內(nèi)容復(fù)制到容器的hello目錄
WORKDIR hello??? 把當(dāng)前容器目前改為hello目錄
ENTRYPOINT ["dotnet", "dockerMvc.dll"] 運(yùn)行donet命令,參數(shù)是dockerMvc.dll
在命令行里執(zhí)行docker build
首先使用cd把當(dāng)前目錄定在項(xiàng)目目錄,如E:\GitHub\dotnet\dockerMvc\dockerMvc
然后輸入docker build "bin\Release\PublishOutput" ,注意這個(gè)參數(shù)是指你Dockerfile所有的目錄,并且它是相對(duì)于當(dāng)前來說的,所有目錄層次關(guān)系要搞清楚,而你要程序目錄可能是這個(gè)目錄下面的bin/publish目錄.
最后,我們的images就被成功建立了docker images
其時(shí),最初,大叔認(rèn)為docker build在執(zhí)行時(shí),必須把當(dāng)前目錄定在Dockerfile所有目錄,經(jīng)過今天的測試才知道,你完全可以把它重新指定,它與當(dāng)前目錄無關(guān),只是build的一個(gè)參數(shù)而以。
相關(guān)文章:?
老司機(jī)實(shí)戰(zhàn)Windows Server Docker:1 初體驗(yàn)之各種填坑
老司機(jī)實(shí)戰(zhàn)Windows Server Docker:2 docker化現(xiàn)有iis應(yīng)用的正確姿勢
老司機(jī)實(shí)戰(zhàn)Windows Server Docker:3 單節(jié)點(diǎn)Windows Docker服務(wù)器簡單運(yùn)維(上)
老司機(jī)實(shí)戰(zhàn)Windows Server Docker:4 單節(jié)點(diǎn)Windows Docker服務(wù)器簡單運(yùn)維(下)
老司機(jī)實(shí)戰(zhàn)Windows Server Docker:5 Windows Server Dockerfile葵花寶典
.Net大戶的選擇:Windows Container在攜程的應(yīng)用
Docker4Dev #6 使用 Windows Container 運(yùn)行.net應(yīng)用
Docker基礎(chǔ)入門及示例
Linux+Nginx+Asp.net Core部署
Docker Machine 簡介
容器,Docker和Azure Container Service
基于VS2017的Docker Support體檢ASP.NET Core站點(diǎn)的Docker部署
Docker-Compose 一鍵部署Ningx+.Net Core+Redis集群
原文地址:http://www.cnblogs.com/lori/p/7163774.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的DotNetCore跨平台~Dockerfile的解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐一份基于Docker的DevOps实
- 下一篇: REST参考手册