使用Docker发布DNC项目
项目结构

可以忽略中间三个Console项目
ApiCenter 是一个WebAPI项目,引用了NLog.MQ项目

ApiCenter使用5001端口
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options=>options.Listen(IPAddress.Any,))
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
})
.UseNLog()
.Build();
一个简单的ValuesController
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
//string sql = GetViewSQL("viewbiz", 1, 1, "*", null, null);
return new string[] { "value1", "value2" };
}
将项目文件夹发送到CentOS(10.15.4.156)中

新建一个Dockerfile,这里已经有了
编辑内容
FROM microsoft/dotnet WORKDIR /app # copy everything else and build COPY . ./ RUN dotnet restore RUN cd ApiCenter RUN dotnet publish -c Release -o out EXPOSE ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]
或者使用下面的内容
FROM microsoft/dotnet WORKDIR /app # copy everything else and build COPY . ./ RUN cd ApiCenter RUN dotnet restore RUN dotnet publish -c Release -o out EXPOSE ENTRYPOINT ["dotnet", "ApiCenter/out/ApiCenter.dll"]
打包镜像
docker build -t apicenter:1.0 .
可以看到打包过程


成功后查看镜像

运行镜像
docker run -d -p : apicenter:1.0
查看容器状态

打开浏览器访问即可

搭建本地镜像私有仓库
下载registry镜像
docker pull registry
修改配置文件
vi /etc/docker/daemon.json
内容如下
{
"graph": "/neworiental/data/docker",
"insecure-registries":["10.15.4.156:5000"]
}
重启docker
systemctl daemon-reload systemctl restart docker
启动registry
docker run -d -p : -v /neworiental/myregistry:/var/lib/registry registry
这里将/var/lib/registry目录挂载到自定义目录/neworiental/myregistry
修改一个镜像名称,这里直接用registry测试
docker tag registry /mythsky/registry
需要注意这里使用ip+port的前缀命名
访问http://10.15.4.156:5000/v2/_catalog,此时可以看到镜像仓库为空
推送镜像
docker push /mythsky/registry

再次查看浏览器

这样就推送成功了,在目录/neworiental/myregistry/docker/registry/v2/repositories/mythsky/ 中查看

现在换一台服务器,比如10.15.4.155
获取镜像
docker pull /mythsky/registry

这样就获取成功了。
使用Docker发布DNC项目的更多相关文章
- 结合docker发布后端项目(基于gradle包管理)的shell脚本
结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...
- 结合docker发布前端项目(基于npm包管理)的shell脚本
结合docker发布前端项目(基于npm包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统 目前主流的前后端分离的项目中,常常在部署 ...
- 【linux】【jenkins】自动化运维四 整合gitlab、docker发布java项目
jenkins发布java项目 过程参考发布vue项目.https://www.cnblogs.com/jxd283465/p/11543431.html 大同小异. vue建立的是Freestyle ...
- 【linux】【jenkins】自动化运维三 整合gitlab、docker发布vue项目
由于工作需要,这里我先创建一个vue的工程. 1.首先安装好gitlab相关插件:GitLab.GitLab Hook.NodeJS 插件安装参考:https://www.cnblogs.com/jx ...
- vmware14中安装centos7并使用docker发布spring-boot项目
1.vmare中centos7安装(同一路由器无线网络下) 1.1选择桥接模式 1.2修改配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33(这里不一 ...
- 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)
使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...
- docker封装nuxt项目使用jenkins发布
一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 但是nuxt项目无法像vue那样,可以打一个dist静态资源包. 需要安装Node.js,并使用npm install ...
- .NET Core使用skiasharp文字头像生成方案(基于docker发布)
一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET FrameWork下我们已经习惯使用System.Drawing类库做简单的图像处理,到了.NET Core下一脸 ...
- Docker 发布 Abp net core web 服务
Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是S ...
随机推荐
- new-xml-data
~<cyfxml> <hhis> <hhi name="大货系统" is-sub-item-folder="True" is-su ...
- 结果集ResultSet
我们访问数据库时候经常见到这样遍历结果集 conn = DBHelper.getConnection(); String sql = "select * from items"; ...
- 《Linux就该这么学》第十一天课程
防火墙常用的一些命令参数 原创地址:https://www.linuxprobe.com/chapter-08.html firewalld中常用的区域名称及策略规则 区域 默认规则策略 trust ...
- SEO常用命令大全
SEO常用单个命令如下: link: 指某个特定网站的外部链接,这是一个主要获取排名和权重的主要因素. site: 呵呵,这个是经常用到的了,它是指某个特定网站收录情况. 用法:site: www. ...
- 安装rabbtimq CentOS 7
朋友们 今天安装rabbtimq 在安装完以后就是一直报错.一直启动不起来了.最后看到别人写到.centos 7 与 centos 6.下载的rabbitmq是不一样的. https://dl.b ...
- html table 保存到excel中
引用:HTML中的table导出为Excel文件 <!DOCTYPE html> <html lang="en"> <head> <met ...
- k8s storageClass对接nfs
前提:已存在一个nfs服务 192.168.137.11:/home/nfs_data 下面以rbac方式对接nfs 1.创建/root/k8s-nfs-rbac/serviceaccount.yam ...
- go 切片的创建方式
切片的创建方式现知道的有下面几种方式,切片为指针类型,从数组中得到的切片修改元素值时,原数组也会发生变化(数组为非指针类型) package main import "fmt" f ...
- Docker优势以及与传统虚拟机对比(1)
docker优势 1.更快速地交付和部署: 2.更高的虚拟化(不需要额外的hypervisor支持,是内核级的虚拟化,实现更高的性能呢和效率): 3.更轻松的迁移和扩展: 4.更简单的管理 与传统的 ...
- HTML5结构标签
<!DOCTYPE html> <!-- ↑ 文档声明.HTML5已经简化为上述样式! 注意:文档声明必须有!而且必须在文档页面的第一行! HTML4.01之前的文档声明: &l ...