官方文档: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
这种方式的好处:只要运行镜像就可以,其它已经配置好了,比如:运行容器就能自动执行设置的命令