[Linux之旅一] .NET Core 2.2部署到Docker中
第一步,使用VS2017或者VS2019创建.NET Core 2.2或3.1的项目,如下图:

在创建项目的时候记得勾选Docker支持,这样会自动创建Dockerfile文件,这个文件用于构建Docker镜像;(补充:镜像运行在容器中)
第二步,编辑Dockerfile文件,本人初学不便讲解它的用法,本人按照以下方式进行编辑:
FROM microsoft/dotnet:2.2-aspnetcore-runtime
COPY . /netcorewebtests
WORKDIR /netcorewebtests
EXPOSE 80
ENTRYPOINT ["dotnet", "NetCoreWebTests.dll"]
第三步,在Linux中创建即将部署网站的目录(本人在/var目录下创建了www目录,再在www目录创建本演示项目的目录),使用以下命令
mkdir /var/www/netcorewebtests]
第四步,发布项目,并使用WinSCP将发布的项目文件上传到第三步创建的目录中
第五步,拉取项目依赖的基础镜像,例如本演示项目是.net core2.2开发,则拉取.net core 2.2的镜像,如下图:
docker pull microsoft/dotnet:2.2-aspnetcore-runtime
第六步,创建本演示项目的镜像,使用如下命令:
docker build -t netcorewebtests .
备注:netcorewebtests 是创建镜像的名称,这个命令会根据当前目录下dockerfile配置文件,进行打包。运行查看镜像 docker images
第七步,创建本演示项目的容器(镜像运行在容器中),使用如下命令:
备注:
创建容器,其中前一个apiweb是容器名 后一个netcorewebtests是上一步的镜像名。
--name:指定容器名称;
-p:指定容器端口,是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口);
-d:指定容器后台运行,这样容器就会一直运行,即使关掉终端窗口。 请使用如下命令:
docker run --name=apiweb -p : -d netcorewebtests
或者
docker run --name=apiweb -p 宿主ip:: -d netcorewebtests
建议用后面一个命令!
完成!
附上常用基础命令:
.查看已退出容器:docker ps -a
.查看所有镜像:docker images
.删除某个镜像:docker rmi 镜像ID
.删除某个容器:docker rm 容器ID
.查看正在运行容器:docker ps
[Linux之旅一] .NET Core 2.2部署到Docker中的更多相关文章
- Asp.Net Core WebAPI+PostgreSQL部署在Docker中
PostgreSQL是一个功能强大的开源数据库系统.它支持了大多数的SQL:2008标准的数据类型,包括整型.数值值.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大对像, ...
- .NET Core Web 应用部署到 Docker 中运行
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...
- .net core web api部署到docker
一.创建.net core web api 的Demo 修改部分代码 端口随意指定,ip用星号“*”,方便接下来docker虚拟网络自动分配ip 下一步是Dockerfile文件,如果发现你的项目中没 ...
- .net core Ocelot实现API网关并部署在docker中
基于Ocelot(http://ocelot.readthedocs.io)搭建的API网关demo 软件以及系统版本: Asp.Net Core 2.2 Ocelot 13.5.0 CentOS ...
- .NET Core 3.0 部署在docker上运行
自从.NET Core3.0发布之后,写了几篇关于.NET Core 3.0的文章,有助于你快速入门.NET Core3.0. 本篇文章主要讲解如何一步步创建一个mvc项目,然后发布并部署在Docke ...
- 03 .NET CORE 2.2 使用OCELOT -- Docker中的Consul
部署consul-docker镜像 先搜索consul的docker镜像 docker search consul 然后选择了第一个,也就是官方镜像 下载镜像 docker pull consul 然 ...
- Linux CentOS 7 下dotnet core webpai + nginx 部署
参考:https://www.jianshu.com/p/b1f573ca50c7 跟着做到,配置nginx访问dotnet core网站时,报错了. 错误如下所示—— 查看nginx的错误日志: c ...
- Windows下docker的安装,将ASP.NET Core程序部署在docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRo ...
- dotnet core webapi 发布部署到docker的步骤
1. 创建web api项目,编译并测试成功 2. 在项目的根目录添加Dockerfile文件,注意:Dockerfile文件名区分大小写 文件内容如下 # 基于microsoft/dotnet:la ...
随机推荐
- 9.5 Go 依赖管理
9.5 Go 依赖管理 godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息. A. 所有的第三方包都放在$GOPATH的src目录下. B. 如果不同程序依赖的版本不一样 ...
- Django之urls.py路由配置(URLConf)
urls.py路由配置(URLConf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. 基本格式: Django1.x版本 ...
- Java基础知识面试题及答案-整理
1.String类可以被继承吗? 不能.String类在声明中使用final关键字修饰符.使用final关键字修饰的类无法被继承. Java语言的开发者为什么要将String类定义为final类呢? ...
- intellij tomcat
VMOption -server -XX:PermSize=128M -XX:MaxPermSize=256m
- JSP知识点回顾
- Vue踩坑日记
1.错误:找不到模块'eslint-config-standard' https://github.com/standard/eslint-config-standard/issues/84 我遇到了 ...
- 【项目练习】thinkphp用户注册
使用mvc,ajax 路由 //后台登陆 Route::group('admin', function () { Route::rule('login', 'admin/Index/login'); ...
- Js 改变时间格式输出格式
朋友看到的方法,非js原生的 自己封装到 function date2str(x,y) { var z={y:x.getFullYear(),M:x.getMonth()+1,d:x.getDate( ...
- JSP指令 & 中文乱码问题
1. JSP 指令: JSP指令(directive)是为JSP引擎而设计的, 它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分. 2. 在JSP 2.0中,定义了 ...
- pandas 小技巧
1.找出某个字段包含某字符串的行: my_df[my_df['col_B'].str.contains('大连') > 0]或者 my_df[my_df['col_B'].apply(lambd ...