.NetCore中的程序通过Docker在CentOS中部署
基础说明
安装Docker过程就略过了
创建一个Asp.Net Core程序
启用Docker支持,会生成Dockerfile文件,接下来看下这个文件,当然不同的版本生成的具体可能不一致
FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY . . EXPOSE 80 ENTRYPOINT ["dotnet", "DockerTest.dll"]
具体内容含义这里就介绍了,这里需要说明下的就是如下:
先看下:FROM中的dotnet镜像,在CentOS中pull拉取相关镜像,查看下镜像
当然这里Dockerfile中也可以用其他的镜像
接下来就是遇到的一些问题,当我们把.NetCore发布的程序包放到CentOS中,发布时的时候注意要设置Dockerfile文件的发布属性
这样发布才会把Dockerfile文件打包到publish,当然你没有设置也没有太多关系,我们可以在CentOS中发布的目录中创建一个Dockerfile也是可以的
制作镜像
进入发布文件目录
cd publish
docker build -t liyouming .
我制作了一个liyouming的镜像,下面通过
docker images
查看下镜像
运行到容器
通过下面的运行到容器中
docker run --name=liyouming_iamge1 -P -d liyouming
或
docker run --name=liyouming_iamge2 -p 33333:80 -d liyouming
-P:随机分配端口,-p:指定映射的端口
--name:容器名称 -d:依赖的镜像名称
两个容器都运行成功了,接下来通过命令查看下
docker ps
查看在运行的容器
可以看到依赖Image镜像名称,端口情况,已经容器名称
接下来通过这2个端口访问下程序,当然你也可以通过curl ip:端口查看
部署起来特别方便,短时间能部署很多,最后把这些常用命令总结下
docker build -t 镜像名称 . docker run --name=容器名称 -p 33333:80 -d 镜像名称 docker images docker ps docker ps -a docker stop containerid或containername docker start containerid或containername docker restart containerid或containername docker rm containerid或containername docker rmi imageid或imagename
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/liyouming欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接。