NetCore Docker 打包 推送 一些问题记录

一、docker 打包时有私有nuget库 与 官方nuget库 或者多个仓库时 在dockerfile中 ,要怎么保证restore正常

  nuget.config文件如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
        <add key="mynuget" value="http://192.168.18.189:1086/nuget/" />
    </packageSources>
</configuration>
 mynuget 为私有库地址

  1、单项目时

  项目结构

  /Test

    /Dockerfile

    /Tools/Nuget/nuget.config --创建一个nuget.config 文件

  Dockerfile 文件

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY . .
WORKDIR "/src/."

#主要是 --configfile "./tools/nuget/nuget.config" 参数

 RUN dotnet build "Test.csproj" --configfile "./Tools/Nuget/nuget.config" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Test.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Test.dll"]

 

  2、如果是一个项目下有多个项目

  项目结构

  /app

    /Test1

      Dockerfile

      Test1.sln

    /Test2

      Dockerfile
      Test2.sln

    /Tools/nuget/nuget.config --添加一个nuget.config 文件

    /docker-compose.yml  --添加文件

    /.env          --添加文件 说明:如果docker-compose.yml里面有使用到变量时,可在这个文件中设置变量的值;反之 不用加这个文件

  在根目录(app/下)添加 docker-compose.yml、nuget.config、.env 文件

docker-compose.yml文件内容如下

version: "3.7"
services:
  Test1:
    image: "Test1:${TAG:-latest}"
    build:
      context: .
      dockerfile: Test1/Dockerfile
  Test2:
    image: "Test2:${TAG:-latest}"
    build:
      context: .
      dockerfile: Test2/Dockerfile

Dockerfile文件内容如下

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY . .
WORKDIR "/src/."

#主要是 --configfile "../tools/nuget/nuget.config" 参数,注意这里 变成了两个点,因为 nuget.config 在根目录下
RUN dotnet build "Test1.csproj" --configfile "../Tools/Nuget/nuget.config" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Test1.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Test1.dll"]

.env 文件内容如下,主要是给上面的 docker-compose.yml中的TAG 设置版本号

TAG=1.0.4

最后 在app根目录 输入命令,就会生成镜像了

docker-compose up

二、docker for windows  docker push 私有仓库的时候 发生异常

 docker push 192.168.18.188:5000/test:1.0.1

server gave HTTP response to HTTPS client

设置本机 docker for windows 即可

原文地址:https://www.cnblogs.com/JalanWang/p/12193526.html

时间: 2024-08-28 03:23:47

NetCore Docker 打包 推送 一些问题记录的相关文章

(12)自定义数据流(实战Docker事件推送的REST API)——响应式Spring的道法术器

本系列文章索引<响应式Spring的道法术器>前情提要 Reactor 3快速上手 | Spring WebFlux快速上手 | 响应式流规范本文 测试源码 | 实战源码 2.2 自定义数据流 这一小节介绍如何通过定义相应的事件(onNext.onError和onComplete) 创建一个 Flux 或 Mono.Reactor提供了generate.create.push和handle等方法,所有这些方法都使用 sink(池)来生成数据流. sink,顾名思义,就是池子,可以想象一下厨房水

【转】iOS消息推送实现过程记录

客户端代码:链接地址 服务器代码:链接地址  链接地址 这里记录下iOS消息推送实现的全过程 首先,申请秘钥. 之后进入链接地址开发者,当然你得有啊!!!!! 点击这里 如图: 下面实现创建推送证书(和开发证书不一样) 接上图: 下图: 第一步完: 为证书添加推送功能: 点击之后的效果: 点击之后 到现在我们已经有俩个证书了,aps_development.cer 和CertificateSigningRequest.certSigningRequest. 下面的步骤比较关键.我们需要把机器中的

关于推送的一些记录要点

记录一下极光推送集成的一些食粮: 推送的要点无非:远程推送,本地推送,badge角标值的设定等. 1.badge [[UIApplicationsharedApplication]setApplicationIconBadgeNumber:0];//本地badge值设置 [JPUSHServicesetBadge:0];//清空JPush服务器中存储的badge值 每次有推送的时候badge +1 这个操作需要服务器去处理.包括推送声音的设置也都是服务端那边在处理设置. 2.推送目标的设备选择方

docker win10 推送镜像问题

一.推送 1.docker images 中查找IMAGE ID镜像 2.docker commit <IMAGE ID> liubiaos/dd_1,把容器commit做成镜像. 3.创建docker hub账号,登陆docker hub账号,(已经登陆) 4. docker push liubiaos/dd1:v2.0,上传push 5.检查 原文地址:https://www.cnblogs.com/liubiaos/p/9409239.html

推送通知项目记录

1.对于App设置中的开关通知 有对应的unregisterForRemoteNotifications取消注册2.iOS 我在通知栏里清除了所有通知,但是应用上的角标还是存在的.点击icon进入app是不会获取到通知栏的消息的.在通知栏那里点击清除消息也没法影响到badge.iOS的 通知栏 是系统层面的,//来自极光社区:https://community.jiguang.cn/t/ios/10849 3.iOS 通知中心点击一条消息拉起app,该app的其它通知都消失了[[UIApplic

Docker harbor 推送

其余docker容器所在的宿主机需要加上 /etc/docker/daemon.json "insecure-registries": ["192.168.56.11 ","192.168.56.12 "] 原文地址:http://blog.51cto.com/wsxxsl/2063265

NuGet打包推送批处理以及MSBuild(通用版)

使用时注意每个批处理里面的依赖工具路径指向 源码:https://github.com/easonjim/NuGetRun bug提交:https://github.com/easonjim/NuGetRun/issues

获取和推送镜像

获取和推送镜像 查找镜像 从docker hub官网上查看,或者使用search命令查看. 在docker hub官网上注册一个账号. 拉取镜像 还是那句话,如果直接pull镜像的话,是很慢的,而且很容易出现错误信息.楼主也找到了解决办法: 使用daocloud的加速器,楼主感觉也不快... https://dashboard.daocloud.io/nodes/new 推送镜像 要推送镜像需要先构建镜像,咱们先在本地构建一个镜像. 1.使用commit构建镜像 过程太多了,不说了,也不重要,咱

我是如何用redis做实时订阅推送的

前阵子开发了公司领劵中心的项目,这个项目是以redis作为关键技术落地的.       先说一下领劵中心的项目吧,这个项目就类似京东app的领劵中心,当然图是截取京东的,公司的就不截了...   其中有一个功能叫做领劵的订阅推送.什么是领劵的订阅推送?就是用户订阅了该劵的推送,在可领取前的一分钟就要把提醒信息推送到用户的app中.本来这个订阅功能应该是消息中心那边做的,但他们说这个短时间内做不了.所以让我这个负责优惠劵的做了-.-!.具体方案就是到具体的推送时间点了,coupon系统调用消息中心