第一步 环境准备,安装docker环境:
1 2 3 4 5 6 7 8 9 10 11 | 通过命令安装docker: sudo apt- get install -y docker.io 启动Docker服务: systemctl start docker.service 配置开机启动并验证 systemctl enable docker.service 查看docker版本信息 docker version |
第二步 编写Dockerfile:在项目根目录添加Dockerfile文件(publish目录下)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | FROM microsoft/do.NET:2.1-aspnetcore-runtime RUN apt- get update RUN apt- get install -y --no-install-recommends libgdiplus libc6-dev #容器中系统的工作空间 WORKDIR /app #拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格) COPY . /app #设置Docker容器对外暴露的端口 EXPOSE 80 #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序 ENTRYPOINT [ "dotnet" , "NBI.DashBoardService.Core.dll" ] |
第三步构建镜像:进入到项目根目录执行编译镜像命令:
1 | sudo docker build -t nbiplatform:v1 . |
第四步 我们可以通过命令查看一下镜像的信息:
1 | sudo docker images |
第五步 启动镜像:
1 | sudo docker run --name nbi -d -p 5000:80 nbiplatform:v2 |
第六步 通过命令查看容器是否正常启动:
1 | sudo docker ps -a |
第七步 在这里我们已经可以看到容器正常启动了,我们访问一下项目试试:
项目运行一切正常,docker部署确实方便,大大简化了部署的复杂度,同时又能与其他环境隔离互不影响,后面将继续分享如何将本地应用发布到远程镜像中心去。