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"]
View Code

选中项目右键发布,选择文件系统。

将发布得项目文件使用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管理镜像和容器,一个指令即可更新镜像和运行容器。

 

posted @ 2020-09-27 14:33  二震  阅读(319)  评论(0)    收藏  举报