第一步,使用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

最新文章

  1. C语言 · 求矩阵各个元素的和
  2. iOS_SourceTree忽略CocoaPods文件
  3. Dreamweaver架设网站终极教程
  4. java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar
  5. 中石油-高精度除法-java版
  6. codeforces round #201 Div2 A. Difference Row
  7. IOS的APNS和PushKit门道详述
  8. LinearLayout 控件
  9. 学习chrome 插件 DHC ,http请求传参方法
  10. iframe session过期跳转到登陆页面
  11. 剑指Offer:面试题7——用两个栈实现队列(java实现)
  12. how to optimize javascript performance
  13. mybatis中的缓存问题
  14. 初探React Hooks & SSR改造
  15. ASP.NET -- WebForm -- 页面生命周期事件
  16. 数据建模工具系列 之 让SQL Power Architect支持Vertica
  17. HierarchicalClustering:编写HierarchicalClustering层次聚类算法—Jason niu
  18. IDEA中导入多个包自动合并为星号
  19. 二、Linear Regression 练习(转载)
  20. 【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式

热门文章

  1. Solr-常见问题汇总(持续更新)
  2. Antd 修改主题颜色填坑记录
  3. 利用js实现 禁用浏览器后退| 去除上一个历史记录链接
  4. 索引 'GXHRCS.PK_A253' 或这类索引的分区处于不可用状态
  5. Ubuntu 18.04上交叉编译华硕路由器RT-AC88U的梅林384.15版本
  6. C#不定长参数
  7. 小技巧:用 GitBook 组织 Markdown 文档
  8. 05 . Python入门值循环语句
  9. Orcle 查询语句
  10. 从软件开发到 AI 领域工程师:模型训练篇