项目准备

  首先创建一个项目,这里准备的是api项目,当然也可以是其他项目,按照自己需要的项目创建即可;

添加Dockerfile

  接下来添加Dockfile文件,Dockerfile文件是Docker的构建镜像的文本文件,包含了一条条指令,告诉Docker如何执行构建镜像;

  添加方式是右击项目->添加->Docker支持->选择目标OS,这里可以选择  Linux或者Windows,根据服务器类型选择即可;

  在OS添加完成之后会有生成一个Dockerfile,将Dockerfile属性设置为始终复制,这个Dockerfile中

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["xxx.Api/xxx.Api.csproj", "xxx.Api/"]
RUN dotnet restore "xxx.Api/xxx.Api.csproj"
COPY . .
WORKDIR "/src/xxx.Api"
RUN dotnet build "xxx.Api.csproj" -c Release -o /app/build FROM build AS publish
RUN dotnet publish "xxx.Api.csproj" -c Release -o /app/publish FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "xxx.Api.dll"]

制作镜像

  有了Dockerfile后,将你的项目文件放到服务器上,然后将当前目录切换到项目文件目录下

  docker build -t projectname .

  使用Docker build命令构建镜像(projectname是指镜像名称,.是指Dockerfile文件位置),然后Docker会根据Dockerfile去构建镜像
 
  

运行

  有了镜像后,使用Docker run命令将镜像运行一下,生成一个容器,projectname是镜像名称
  docker run --name containername -p 8878:80 -d projectname
  --name:设置容器的名称
  -p:将容器的端口映射80映射到宿主机8878端口
       -d:后台运行
  
  
 
 

Docker部署 .Net程序的更多相关文章

  1. Docker 部署net5程序

    1.前言 本文讲述使用docker容器部署.net5项目.实现跨平台. 部署环境:docker 容器.liunx系统.这里采用VmWare虚拟机.并采用MobaXterm工具实现终端连接linux系统 ...

  2. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  3. 如何使用Docker部署一个Go Web应用程序

    熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...

  4. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  5. 【转载】如何使用docker部署c/c++程序

    原文地址:https://blog.csdn.net/len_yue_mo_fu/article/details/80189035 Docker介绍 Docker是一个开源的容器引擎,它有助于更快地交 ...

  6. 0基础入门 docker 部署 各种 Prometheus 案例 - 程序员学点xx 总集篇

    目录 大家好, 学点xx 系列也推出一段时间了.虽然 yann 能力有限,但还是收到了很多鼓励与赞赏.对这个系列 yann 还是很喜欢的,特别是 Prometheus 篇,在期间经历公众号 100 篇 ...

  7. docker部署带mysql数据库连接的.netcore程序

    docker部署带mysql数据库连接的程序和部署普通的程序完全一致 数据库可以是物理机删的mysql,同时也可以是docker里的mysql. 如果是docker中的mysql,配置连接字符串和物理 ...

  8. Docker部署Python应用程序

    Docker部署Python应用程序 1. 单个py文件部署 生成Dockerfile 文件 插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时). 文中需要三个插件(pe ...

  9. Docker部署NETCORE应用程序

    Docker部署NETCORE应用程序 创建.netcore项目,本文以ASP.NET Core2.2 版本为例 设置Dockerfile属性始终复制 编辑Dockerfile内容 FROM micr ...

  10. ASP.NET Core:ASP.NET Core程序使用Docker部署

    一.前言 这篇文章介绍如何将一个ASP.NET Core应用程序在Docker中进行部署.开发工具使用的是Visual Studio 2019和VS Code. 二.使用Docker部署 我们选择新建 ...

随机推荐

  1. 【爬虫】XPath实例

    题目要求我们用XPATH去爬某个网站并且保存为CSV文件 代码如下,仅供参考 # -*- coding: UTF-8 -*- # 开发人员:萌狼蓝天 # 博客:Https://mllt.cc # 笔记 ...

  2. How To Install and Enable SSH Server on Debian 10

    https://devconnected.com/how-to-install-and-enable-ssh-server-on-debian-10/ How To Install and Enabl ...

  3. Linux系统安装python3.8与卸载教程

    ln -sf /usr/local/python311/bin/python3.11 /usr/local/bin/python3ln -sf /usr/local/python311/bin/pyd ...

  4. Composer: Command Not Found

    I am using CentOS and had same problem. I changed /usr/local/bin/composer to /usr/bin/composer and i ...

  5. Powercat 无文件落地执行技巧,你确定不进来看看?

    声明:本文主要用作技术分享,所有内容仅供参考.任何使用或依赖于本文信息所造成的法律后果均与本人无关.请读者自行判断风险,并遵循相关法律法规. 目录 完整示例 注意事项 演示 无文件落地执行(filel ...

  6. 硬件开发笔记(三十二):TPS54331电源设计(五):原理图BOM表导出、元器件封装核对

    前言   一个12V转5V.3.3V和4V的电源电路设计好了,下一步导出BOM表,二次核对元器件型号封装,这是可以生产前的最后一步了.   导出BOM表 步骤一:打开原理图   打开项目,双击点开原理 ...

  7. Linux查找JDK的 实际位置

    检查JDK是否安装 java -version 查找java命令的位置 which java 查找列出该链接所指向的原始文件或目录 ls -l /usr/bin/java 查找目录 ls -l /et ...

  8. [转]vue调试工具vue-devtools安装及使用(亲测有效,望采纳)

    vue调试工具vue-devtools安装及使用(亲测有效,望采纳) 本文主要介绍 vue的调试工具 vue-devtools 的安装和使用 工欲善其事, 必先利其器, 快快一起来用vue-devto ...

  9. 跟着源码一起学:手把手教你用WebSocket打造Web端IM聊天

    本文作者芋艿,原题"芋道 Spring Boot WebSocket 入门",本次有修订和改动. 一.引言 WebSocket如今在Web端即时通讯技术应用里使用广泛,不仅用于传统 ...

  10. Windows应用开发-常用工具集推荐

     .NET/WPF开发 Visual Studio 最新版本是VS2022,官网下载:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 VsColorOutput 控制台 ...