一、前言

  在公司新项目中,果断选择使用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管理镜像和容器,一个指令即可更新镜像和运行容器。

最新文章

  1. js_截取Url值
  2. atitit.文件上传带进度条的实现原理and组件选型and最佳实践总结O7
  3. python查询
  4. Network - 对比net-tools与iproute2
  5. Java中final变量的初始化方式
  6. php随笔7-thinkphp OA系统 JS 文本框输入实时控制字数
  7. script:查看redo产生的历史信息
  8. mac中Eclipse的快捷键
  9. Subsequences Summing to Sevens
  10. 天兔(Lepus)监控邮件推送安装配置
  11. 在Pycharm中使用jupyter笔记本
  12. qml 静态编译程序执行错误 无法定位程序输入点 CreateDXGIFactory2 于动态链接库 dxgi.dll 上
  13. seo建站需要注意哪些
  14. Spring Boot 之发送邮件
  15. bzoj千题计划168:bzoj3513: [MUTC2013]idiots
  16. 源码安装redis环境
  17. 用PE系统安装原版XP
  18. DZY Loves Math(莫比乌斯反演)
  19. C# 很少人知道的科技
  20. JavaScript之Array

热门文章

  1. 解决RockyLinux和Centos Stream 9中firefox无法播放HTML视频问题
  2. JavaScript:对象:如何创建对象?
  3. ssm——springMVC整理
  4. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记3
  5. [机器学习] Yellowbrick使用笔记8-模型选择可视化
  6. bbs项目(部分讲解)
  7. JS加载层
  8. 10分钟做好 Bootstrap Blazor 的表格组件导出 Excel/Word/Html/Pdf
  9. dinic及当前弧优化
  10. C#动态创建对象过程