项目结构

可以忽略中间三个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. spring multipart源码分析:

    1.MultipartResolver MultipartResolver接口提供了spring mvc的上传视图,MultipartResolver实例在请求转交给handlermapping之前. ...

  2. Flask cookie

    一 什么是cookie        什么是cookie?如果单单从数据结构的角度来说,它可以被理解成用来保存数据的一个dictionary,由一组组键值对组成.如果从作用上来说,我们知道Http协议 ...

  3. 关于webpack使用的一些问题

    1.镜像安装 npm安装webpack慢的爆炸,如果不能FQ,试下下面的国内良心镜像,浑身都舒爽了. npm config set registry https://registry.npm.taob ...

  4. C#的app.Config文件中设置,可以选择执行环境(左配置,有程序),app.Config中的appSettings首字母必须小写,符合源码要求

  5. 动态库的链接和链接选项-L,-rpath-link,-rpath

    https://my.oschina.net/shelllife/blog/115958 链接动态库 如何程序在连接时使用了共享库,就必须在运行的时候能够找到共享库的位置.linux的可执行程序在执行 ...

  6. H5新特性-视频,音频-Flash-canvas绘图

    json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...

  7. Codeforces Round #538 (Div. 2) CTrailing Loves (or L'oeufs?)

    这题明白的意思就是求n!在b进制下的后缀零的个数. 即最大的n!%(b^k)==0的k的值.我们需要将如果要构成b这个数,肯定是由一个个质因子相乘得到的.我们只需要求出b的质因子,然后分析n!中可以组 ...

  8. keras常见参数input_dim、input_length理解

    在看keras文档embedding层的时候,不太理解其中的input_dim 和input_length 这两个参数,查阅了一下资料,记录下来. keras.layers.Embedding(inp ...

  9. python之路(七)-递归算法

    递归 特点 递归算法是一种直接或者间接地调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 递归算法解决问题的特点: (1) 递归就是在 ...

  10. C# 服务开发

    1. 执行权限 对于一般服务项目,需要使用管理员权限打开Visual Studio.右击项目 -> 属性 -> 安全性,如下图: 勾选红框中部分,项目中会增加文件 app.mainfest ...