将.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.  不知道是什么问题

posted on 2018-03-27 17:41  余昭(Ray)  阅读(1116)  评论(0编辑  收藏  举报