使用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 ...
随机推荐
- C++重载Level蓝图
一.从ALevelScriptActor派生自己的类,添加功能并编译. 二.在编辑器中打开level blueprint,然后class default选项卡中,在细节面板中Parent class选 ...
- java 基本原则
开闭原则:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求. 可以通过“抽象约束.封装变化”来实现开闭原则,即通过接口或者抽象类为软件实体定义一 ...
- 作业 -- 几道简单的Python题
1.编写程序,要求生成10240个随机[0,512)之间的整数,并统计每个元素出现的次数. 2.编写程序,要求当用户输入一个列表和两个整数作为下标时,程序可以使用切片获取并输出列表中截取两个下标之间的 ...
- gensim自然语言处理
参考代码 ChineseClean_demo1.py: # -*- coding:utf-8 -*- import xlrd import xlwt ''' python3.4 ''' # file ...
- REdis命令处理流程处理分析
分析版本:REdis-5.0.4. REdis命令处理流程可分解成三个独立的流程(不包括复制和持久化): 1) 接受连接请求流程: 2) 接收请求数据和处理请求流程,在这个过程并不会发送处理结果给Cl ...
- liunx_second_day
liunx-基本权限 1.文件和目录权限的区别 A.文件的权限:所有者,所属组,其他人 rwx,读,写,执行,没有权限就是- 第一组rwx:文件所有者的权限 第二组rwx:文件所属组的权限 第三组rw ...
- 简析 __init__、__new__、__call__ 方法
简析 __init__.__new__.__call__ 方法 任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建.初始化.使 用.垃圾回收,不同的 ...
- 删除CSDN点击“阅读更多”按钮跳转到登录界面的功能
manifest.json { "manifest_version": 2, "name": "Helper2", "versio ...
- [纪录片] 鸟瞰中国 ——China from Above
上周末我看了一部纪录片<鸟瞰中国>,觉得特别有意思,想要分享给你. 制作背景 <鸟瞰中国>是由中国五洲传播中心与美国国家地理频道联合拍摄的纪录片,由KNNY PNG.KLAUS ...
- post推送消息时的乱码
URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求 ...