Docker .NET Core项目run起来

官方文档:https://docs.docker.com/engine/reference/commandline/run/

1、使用命令行方式

docker run --name identity -v D:Dockerwwwidentity:/www -p 8012:8112 -it microsoft/dotnet:2.2-aspnetcore-runtime

指定容器别名  --name identity 

指定数据卷映射  -v D:Dockerwwwidentity:/www 

指定端口映射  -p 8012:8112 8012是宿主端口,8112是容器端口

2、使用Dockerfile方式

1)、新建Dockerfile文件

#添加基础镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime
#容器中系统的工作空间
WORKDIR /app
#拷贝当前文件夹下的文件到容器中系统的工作空间
#这里我使用数据卷方式不用复制文件到工作空间,等一下数据目录指向工作空间
#COPY . /app
#设置Docker容器对外暴露的端口
EXPOSE 8112
#EXPOSE 443

#容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
#使用ENTRYPOINT ["dotnet","系统启动的dll"]
#或使用 CMD ["dotnet","系统启动的dll"]
ENTRYPOINT ["dotnet", "Identity.API.dll"]

2)、创建自己的镜像,别名 -t myidentity ,注意最后  . 表示当前目录, Dockerfile 文件在当前目录

docker build -t myidentity .

3)、运行自己镜像,这里把需要的文件作为数据卷挂载到工作空间

docker run --name identity -v D:Dockerwwwidentity:/app -p 8012:8112 -it myidentity

这种方式的好处:只要运行镜像就可以,其它已经配置好了,比如:运行容器就能自动执行设置的命令

原文地址:https://www.cnblogs.com/myfqm/p/13085542.html