docker手动发布ASP.NET Core7

一、环境准备环节

1、准备Linux系统

Linux系统-CentOS7---基于虚拟机来安装

IP:192.168.1.97

2、安装docker环境

2.1、卸载依赖包

$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

2.2、设置镜像仓库

$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

2.3、使用以下命令来设置稳定的仓库(下面三种,选择一种即可)。

使用官方源地址(比较慢)

$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

阿里云镜像服务器(推荐)

$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学源(推荐)

$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

2.4、安装 Docker Engine-Community

$ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

注意:要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

$ yum list docker-ce --showduplicates | sort -r

2.5、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

2.6、启动 Docker。

$ sudo systemctl start docker

2.7、通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

二、开始发布

1、配置dockerfile 文件

我们右键项目,添加=》添加Docker支持,这里选Linux

注意:设置dockerfile文件属性为始终复制;

2、调整dockerfile文件


# 环境运行时基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
#将当前目录内容 copy到镜像目录
COPY . /Dockeraspnetcore7
#设置工作目录
WORKDIR /Dockeraspnetcore7
#对外暴露端口
#(注:EXPOSE并不会让容器的端口访问到主机。
#要使其可访问,需要在docker run运行容器时通过-p来发布这些端口,
#或通过-P参数来发布EXPOSE导出的所有端口)
EXPOSE 80
EXPOSE 443
#运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "Zhaoxi.NET7.WebApplication.dll"]

3、发布项目

4、我们把刚才发布目录上传到前面准备的Linux服务器中的某一个具体的目录

进入该目录执行命令:

docker build -t dockersample-image/1.0 -f Dockerfile .

再查看下镜像,可以看到镜像已经生成成功了

5、运行容器

docker run -d -p 8001:80 --name richardaspnetcorecontainer richardaspnetcore7.0

https://www.cnblogs.com/chenxizhaolu/p/17434017.html

docker发布ASPNETCore项目 yum的更多相关文章

  1. 结合docker发布后端项目(基于gradle包管理)的shell脚本

    结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...

  2. 结合docker发布前端项目(基于npm包管理)的shell脚本

    结合docker发布前端项目(基于npm包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统 目前主流的前后端分离的项目中,常常在部署 ...

  3. 【linux】【jenkins】自动化运维四 整合gitlab、docker发布java项目

    jenkins发布java项目 过程参考发布vue项目.https://www.cnblogs.com/jxd283465/p/11543431.html 大同小异. vue建立的是Freestyle ...

  4. 【linux】【jenkins】自动化运维三 整合gitlab、docker发布vue项目

    由于工作需要,这里我先创建一个vue的工程. 1.首先安装好gitlab相关插件:GitLab.GitLab Hook.NodeJS 插件安装参考:https://www.cnblogs.com/jx ...

  5. vmware14中安装centos7并使用docker发布spring-boot项目

    1.vmare中centos7安装(同一路由器无线网络下) 1.1选择桥接模式 1.2修改配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33(这里不一 ...

  6. 使用Docker发布DNC项目

    项目结构 可以忽略中间三个Console项目 ApiCenter 是一个WebAPI项目,引用了NLog.MQ项目 ApiCenter使用5001端口 public static IWebHost B ...

  7. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  8. docker封装nuxt项目使用jenkins发布

    一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 但是nuxt项目无法像vue那样,可以打一个dist静态资源包. 需要安装Node.js,并使用npm install ...

  9. Jenkins+Harbor+Docker发布

    使用Jenkins发布Docke 需要准备的,docker,jenkins,Harbor docker安装 安装依赖: # yum install -y yum-utils device-mapper ...

  10. .NET Core使用skiasharp文字头像生成方案(基于docker发布)

    一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET FrameWork下我们已经习惯使用System.Drawing类库做简单的图像处理,到了.NET Core下一脸 ...

随机推荐

  1. 【Hibernate】Re07 关系映射处理

    一.单向多对一关系映射处理 演示案例列举了员工与部门的关系,一个部门下具有多个员工,相反的一个员工只隶属于一个部门下面 Maven依赖坐标: <dependency> <groupI ...

  2. 基于 ChatGPT 的聊天软件合集打包分享

      「基于 ChatGPT 的聊天软件合集打包」 链接:https://pan.quark.cn/s/ef1f5e9c48e4 BotGem(原名AMA) 官网:https://botgem.com/ ...

  3. 如何在无窗口模式下为git的tag和commit操作加GPG私钥——如何在命令行模式下使用gpg秘钥为git操作签名

    相关: 如何在无窗口模式下运行GPG--如何在命令行模式下使用gpg生成秘钥:How to make gpg prompt for passphrase on CLI--GPG prompt for ...

  4. MindSpore中使用model.train,在每一步训练结束后自动进行调用自定义函数 —— from mindspore.train.callback import Callback

    在MindSpore中使用model.train训练网络时我们难以处理间断性的任务,为此我们可以考虑使用MindSpore中的Callback机制.Callback 函数可以在 model.train ...

  5. Kotlin 循环与函数详解:高效编程指南

    Kotlin 循环 当您处理数组时,经常需要遍历所有元素. 要遍历数组元素,请使用 for 循环和 in 操作符: 示例 输出 cars 数组中的所有元素: val cars = arrayOf(&q ...

  6. 微服务架构SpringCloud的理解

    微服务架构是什么? 微服务是一种架构思想,实际上以分布式系统方式开发.架构是为了解耦.该架构解决的是分布式中的四个问题: 一.客户端如何访问众多服务: 应用划分为众多服务以后,客户端需要如何访问? 通 ...

  7. 9组-Alpha冲刺-5/6

    一.基本情况 队名:不行就摆了吧 组长博客: https://www.cnblogs.com/Microsoft-hc/p/15546711.html 小组人数: 8 二.冲刺概况汇报 谢小龙 过去两 ...

  8. [nRF24L01+] 2. 芯片介绍

    2. 芯片介绍 2.1. 特点 电源管理 掉电模式: 900nA 待机1模式: 26uA 2.2. 方框图

  9. 使用CyFES对配体运动轨迹进行数据透视

    技术背景 如果我们有一个蛋白质X和一个配体Y,那么可以对这个X+Y的体系跑一段长时间的分子动力学模拟,以观测这个体系在不同结合位点下的稳定性.类似于前面一篇博客中计算等高面的方法,我们可以计算轨迹的K ...

  10. Java微信授权登录小程序接口

    1.微信授权登录小程序的流程是什么 微信授权登录小程序的流程是一个涉及前端和后端交互的过程,主要目的是让用户能够使用微信账号快速登录小程序,避免重复输入用户名和密码.以下是该流程的详细步骤: 1.1前 ...