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. 8、IDEA集成Git

    8.1.配置Git忽略文件 8.1.1.忽略文件的原因 在使用 IDE 工具时,会自动生成一些和项目源码无关的文件,所以可以让 Git 忽略这些文件. 此外,把这些无关文件忽略掉,还能够屏蔽不同 ID ...

  2. 【Hibernate】Re02 官网介绍

    介绍: 创始人:Gavin King.EJB3.0专家,JBoss核心成员之一,<Hibernate In Action>作者 Hibernate是ORM的解决方案. 优点: 1.功能强大 ...

  3. Continue-AI编程助手本地部署llama3.1+deepseek-coder-v2

    领先的开源人工智能代码助手.您可以连接任何模型和任何上下文,以在 IDE 内构建自定义自动完成和聊天体验 推荐以下开源模型: 聊天:llama3.1-8B 推理代码:deepseek-coder-v2 ...

  4. PVE linux_VM 扩容分区

    页面 调整磁盘大小 手动分区 fdisk -l fdisk /dev/sda 对该磁盘进行分区, 输入n并回车,n是"new"新建分区 [root@localhost ~]# fd ...

  5. 人形机器人从人类演示(demenstration)数据中学习人类行为(behavior)的几种方式

    人形机器人从人类演示(demenstration)数据中学习的几种方式 使用仿真环境,在仿真环境中生成近似人类的行为数据,然后利用仿真生成的数据训练机器人. 该种方式最为传统,也最为易行,但是由于仿真 ...

  6. Google主打的机器学习计算框架——jax的升级包

    相关: 机器学习洞察 | 一文带你"讲透" JAX Jax的主要应用场景: 深度学习 (Deep Learning):JAX 在深度学习场景下应用很广泛,很多团队基于 JAX 开发 ...

  7. Windows10 解决端口占用问题

    netstat -ano|findStr 8080 taskkill -f -pid 8080 奥里给   秘制小汉堡安排

  8. ZABBIX Maps(拓扑图) 数据可视化

    本篇文章将介绍如何利用zabbix内置 Maps模块展示主机数据指标以及如何关联触发器 构建业务地图让异常指标更加直观呈现 下面我将从网络设备.服务器和vmware esxi和IP主机去为大家解析za ...

  9. 【Git】之分支合并命令

    一.Git分支管理 1.查看Git分支 git branch 按Q键返回. 2.创建分支以及删除分支 git branch newtest git branch -d newtest 3.切换分支 g ...

  10. 设计模式 | 中介者模式/调停者模式(Mediator)

    定义: 用一个中介对象来封装以系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地变化他们之间的交互. 结构:(书中图,侵删) 一个抽象中介者 若干具体中介者 一个抽象 ...