Docker里面运行.net core

详细可以参考微软官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-3.0

1.先将开发完成的netcore应用发布成文件夹,

 

 

 

2.使用cmd命令切换到这个发布目录

cd publish/

 

3.可以使用命令dotnet运行,看是否正常

https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-run?tabs=netcore21

 

# 切换到开发环境(development区分大小写) 
SET ASPNETCORE_ENVIRONMENT=development 
# 设定端口号 
SET ASPNETCORE_URLS=http://*:21022 
# 然后运行 
dotnet Zhousy.LivestockTrade.Web.Host.dll

 

  

 

4.然后访问这个地址看是否正常

 

 

 

5.配置Dockerfile文件

#声明使用的基础镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:2.1 AS runtime 
#设置环境变量,修改.netcore默认端口(多个可以用;分隔) 
ENV ASPNETCORE_URLS http://*:8085;http://*:8086
ENV ASPNETCORE_ENVIRONMENT staging 
#设置导出端口,与上面端口一致 
EXPOSE 8085 
EXPOSE 8086 
#设置工作目录 
WORKDIR /app COPY . . 
#指定应用入口点Zhousy.LivestockTrade.Web.Host.dll代表主程序文件 
ENTRYPOINT ["dotnet", "Zhousy.LivestockTrade.Web.Host.dll"]

  

6.cmd下去build一个镜像(注意最后有一个点)

docker build -t zhousy_livestock:latest .

  

7.build完成之后去run一个容器

与上面端口一致
docker run --name con_zhousy_livestocktrade -p 8085:8085 -p 8086:8086 zhousy_livestocktrade

  

--name 容器名称 -p 宿主端口:容器端口 使用的镜像名称:镜像版本

另外也可以不在dockerfile里设置环境变量,而是在run 后面 -e 来设置环境变量,一定要在run后面 -e 不然会无效

docker run -e "ASPNETCORE_ENVIRONMENT=development" -d -p 8085:8085 -p 8086:8086 --name="con_faka_api" faka_api:latest

  

 

posted @ 2019-12-27 13:49  zhoushiya  阅读(1222)  评论(0编辑  收藏  举报