將.netcore mvc項目發布到centos7的docker中。環境 vmware14+Centos7+docker-ce
1.使用vs將.netcoremvc項目發布到本地,修改發布后的目錄 名為publish
2.使用工具將publish文件夾拷貝到centos中
3.進入centos的publish目錄中
4.創建Dockerfile文件 (執行 vim Dockerfile),指定容器對外暴露端口80。注意,COPY . 后面有空格,表示是當前位置,意思是從當前位置復制文件到/publish目錄下
例如:(demo.dll是行項目主要的的dll名稱)
FROM microsoft/aspnetcore
COPY . /publish
WORKDIR /publish
EXPOSE 80
CMD ["dotnet", "demo.dll"]
5.執行命令創建鏡像:
docker build -t demo-netcore .
其中 demo-netcore是創建鏡像的名稱,這個命令會,根據當前目錄下dockerfile配置文件,進行打包。運行查看鏡像 docker images
6. 創建容器,其中demo 是容器名 demo-netcore是上一步的鏡像名
docker run -d --name demo -p 8080:80 demo-netcore
常用的命令:
#生成鏡像
docker build -t demo-netcore .
#運行容器
docker run --name demo -p 8080:80 demo-netcore:latest
#刪除所有容器進程
docker
rm
$(docker
ps
-a -q)
#刪除一個鏡像
docker rmi 鏡像ID
#查看所有鏡像
docker images
參考:http://www.cnblogs.com/ibeisha/p/netcoreondocker.html
運行ok,但是會有警告:
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {cf38e414-b9b5-4c1e-8819-f2f78296c61f} may be persisted to storage in unencrypted form. 不知道是什么問題