ASP.NET Core 部署在Docker容器当中(1)
一、前言
在公司新项目中,果断选择使用asp.net core,通过实践学习一系列技术栈:docker、docker-nginx、docker-compose、Jenkins,本文主要是介绍如何将项目部署在Docker当中。
二、环境说明和使用工具
- Linux version 5.4.0-42
- Ubuntu 20.04.1 LTS
- Docker 19.03.12
- ASP.NET Core 3.1
- MobaXterm_Portable_v20.3
三、Docker部署
docker安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
查看docker是否安装成功:
docker -v
在项目中添加文件名称为dockerfile文件,切记文件没有后缀名!

dockerfile文件内容 此镜像支持SQL Server 2008 R2 SP3 版本
#添加.nencore3.1基础镜像 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic AS base #容器工作目录 WORKDIR /app #指定项webapi或mvc站点的内部启动端口,默认是80 #ENV ASPNETCORE_URLS http://+:50001 #暴露docker容器端口 EXPOSE 9000 #拷贝发布目录下的所有文件到容器的工作根目录 COPY . . #COPY ./ ./ #容器入口点 ENTRYPOINT ["dotnet", "WebApplication2.dll"]
选中项目右键发布,选择文件系统。
将发布得项目文件使用MobaXterm_Portable工具上传到服务器中。
需要在服务器上安装SSH。
sudo apt-get install sshd
开启SSH服务
service sshd start
防火墙中添加22端口号
sudo ufw allow 22
查看端口
Sudo ufw status
打开Mob工具,右键New Session,输入IP地址通过SSH连接到服务器。

右键新建文件夹,将项目发布文件上传到文件夹中。

进入到项目文件所在文件夹中
cd /home/cs-root/Server/Test/
构建镜像文件
docker build -t 镜像名称 .
查看镜像
docker images
创建容器
docker run -d -p 9000(对外端口):80(程序端口) 镜像名称
查看正在运行的容器
docker ps -a
博客新手,如有不对的地方请大佬们指出。
到此docker 部署ASP.NET Core项目就结束了,但是每次项目更新都要停止容器、删除容器、删除镜像和重新构建镜像等重复工作,感觉好累阿,下一文章将介绍使用docker-compose管理镜像和容器,一个指令即可更新镜像和运行容器。

浙公网安备 33010602011771号