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