首先我们用的服务器是.net core 默认的服务 kestrel,.net core 的版本采用.net core 2.0.0。
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args).UseKestrel() .UseUrls("http://*:80") .UseStartup<Startup>() .Build(); 这里要注意 URL 的问题,加星号表示能够通过任何的 ip 进行访问,服务器监听 0.0.0.0:80 端口,实现外网访问
- 第二步 构建镜像
- 首先要安装.net core 2.0.0-sdk
- dotnet restore 是将下载 nuget 依赖包
- dotnet run 查看项目是否能够运行
- dotnet publish 发布项目
- 最后一步就是构建进行了 docker build -t 项目,在这步执行之前还需在项目的根目录创建一个Dockerfile文件,利用改文件来构建容器镜像。
FROM microsoft/dotnet:2.0.0-sdk
COPY bin/Debug/netcoreapp2.0/publish/ /app/
WORKDIR /app
ENTRYPOINT ["dotnet","/app/***.dll"] //***表示项目名称
- 第三步 开启一个容器 docker run 命令
- docker run -d –name yourprjname -p 宿主端口:容器端口 镜像:tag
- 其中还有一些常用的命令
- docker pull [] 从 docker hub 拉取镜像
- docker stop/start [id] 开启与关闭容器
- doker exec -it 【id】bash 进入容器
- docker ps -a 查看所有的容器 包括关闭的
- docker images 查看所有镜像/docker image ls
- docker rm 删除容器
- docker rmi 删除镜像(在删除镜像之前需要将容器停止删除)