项目结构

可以忽略中间三个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项目的更多相关文章

  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. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

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

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

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

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

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

  9. Docker 发布 Abp net core web 服务

    Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是S ...

随机推荐

  1. AspNet Core 认证

    一 Cookie认证 1  services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCooki ...

  2. (摘录)Java 详解 JVM 工作原理和流程

    作为一名Java使用者,掌握JVM的体系结构也是必须的. 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java ...

  3. MySql添加远程超级管理员用户

    可以通过发出GRANT语句增加新用户:首先在数据库本机上用ROOT用户登录上MySql,然后运行命令: mysql>GRANT ALL PRIVILEGES ON *.* TO admin'@' ...

  4. 星星打分,今天我们就用Jq代码来实现,看看究竟是如何实现的 其中有两个重要的事件mouseenter和mouseleave效果如下图

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  5. iOS模拟器:Undefined symbols for architecture x86_64

    描述:为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构.但是发现工程在真机上可以编译通过但是在模拟器上却未编过. 问题解决:经研究在编译选项中再加入x86_64架构,重新编译 ...

  6. temp--贵州银行

    -------住宿----泊乐酒店----8905----与朱聿一起住 2018年  1月3日晚 1月4日晚  1月5日晚 1月6日晚  1月7日晚 1月8日晚  1月9日晚 已结清! ======= ...

  7. maven 编码 UTF-8 的不可映射字符

    maven编译时报错,后面发现代码是用GBK编码编写,maven默认是用utf-8来编译.修改pom.xml <build> <plugins> <plugin> ...

  8. ios系统的Date的兼容问题

    内容来源网上,自己记录下 问题1: var date =new Date(); 这个是获取当前系统时间的对象,在各端都可以 但是: var date =new Date("2017-01-2 ...

  9. uva10256(计算几何)

    省选前练模板系列: #include<cmath> #include<cstdio> #include<cstring> #include<iostream& ...

  10. Android中系统键盘的自动弹出、隐藏和显示

    一.需求 在开发Android app过程中经常用到EditText,需要在界面加载完成后自动弹出系统键盘,更希望可以控制键盘的隐藏和显示,本文介绍其实现方法. 二.系统键盘的自动弹出 @Overri ...