小编uto*_*tom的帖子

重写服务时,Docker组合孤立容器

我想要两个docker-compose文件,其中一个覆盖另一个.
(动机来自Docker Compose Docs)
用例来自buildbot环境.第一个docker-compose文件应该定义一个简单的服务.这是一项即将测试的服务.让我们来

version: '2'
services:
  service-node:
    build:
      context: ./res
      dockerfile: Dockerfile
    image: my/server
    env_file: .env
Run Code Online (Sandbox Code Playgroud)

第二个docker-compose文件(让它命名为docker-compose.test.yml)覆盖服务节点以添加buildbot worker功能,并创建第二个容器,即buildbot主节点,它将控制测试机器.让我们来

version: '2'
services:
  service-node:
    build:
      context: ./res
      dockerfile: buildbot.worker.Dockerfile
    image: my/buildbot-worker
    container_name: bb-worker
    env_file: ./res/buildbot.worker.env
    environment:
      - BB_RES_DIR=/var/lib/buildbot
    networks:
      testlab:
        aliases:
          - bb-worker
    volumes:
      - ./vol/bldbot/worker:/home/bldbotworker
    depends_on:
      - bb-master

  bb-master:
    build:
      context: ./res
      dockerfile: buildbot.master.Dockerfile
    image: my/buildbot-master
    container_name: bb-master
    env_file: ./res/buildbot.master.env
    environment:
      - BB_RES_DIR=/var/lib/buildbot
    networks:
      - testlab
    expose:
      - "9989"
    volumes:
      - ./vol/bldbot/master:/var/lib/buildbot

networks:
  testlab:
    driver: …
Run Code Online (Sandbox Code Playgroud)

buildbot docker docker-compose

8
推荐指数
1
解决办法
1万
查看次数

Daemonized buildbot启动

我正在尝试编写buildbot startENTRYPOINT/CMD Dockerfile指令中运行的最简单的docker buildbot主映像.
我试着用很多的组合dumb-init,gosuexec,但没有成功.
情况如下:

  1. 当我尝试使用该命令运行deamonized buildroot时docker run -d -v $local/vol/bldbot/master:/var/lib/buildbot buildbot-master-test,容器启动成功,但它突然终止.日志如下所示:

    [timestamp] [ - ]日志已打开.
    [timestamp] [ - ] twistd 16.0.0(/ usr/bin/python 2.7.12)启动.
    [timestamp] [ - ] reactor类:twisted.internet.epollreactor.EPollReactor.
    [timestamp] [ - ]启动BuildMaster - buildbot.version:0.9.2
    [timestamp] [ - ]从'/var/lib/buildbot/master.cfg'加载配置
    [timestamp] [ - ]使用URL设置数据库' sqlite:/state.sqlite'
    [timestamp] [ - ]将数据库日志模式设置为'wal'
    [timestamp] [ - ]为master 1做家务c8aa8b0d5ca3:/ var/lib/buildbot
    [timestamp] [ - ]添加1个新的sourcesources ,删除0
    [timestamp] [ - ]添加1个新构建器,删除0
    [timestamp] [ - ]添加2个新调度程序,删除0 …

linux buildbot docker dockerfile

5
推荐指数
1
解决办法
251
查看次数

导入凭据时,Import-Clixml 中是否有任何隐式假设?

我想知道我是否采取了任何可能导致代码故障的隐含假设?

我想避免使用 Import-Clixml cmdlet 是有原因的吗?因此,我开发了一种替代方案,即一系列命令,旨在从使用 Export-Clixml 创建的 CliXml 文件中提取用户名和密码。它现在可以工作,但我不确定分割解决方案是否可靠。

$credFileUriBld = [UriBuilder]::New('file','localhost',-1,"MyCredentials.xml")) 

$credFile = [Xml.XMLDocument]::New()

$nsMgr4ps1xml = [Xml.XmlNamespaceManager]::New($credFile.NameTable)
$nsMgr4ps1xml.AddNamespace('ps1xml','http://schemas.microsoft.com/powershell/2004/04')
$credFile.Load($credFileUriBld.Path)

$netCredInfo = [System.Net.NetworkCredential]::New($credFile.SelectSingleNode('/ps1xml:Objs/ps1xml:Obj/ps1xml:Props/ps1xml:S[@N=''UserName'']/text()',$nsMgr4ps1xml).Get_Value(),
                                                   ($credFile.SelectSingleNode('/ps1xml:Objs/ps1xml:Obj/ps1xml:Props/ps1xml:SS[@N=''Password'']/text()',$nsMgr4ps1xml).Get_Value().Split('00') | 
                                                    ForEach-Object { if([String]::IsNullOrEmpty($_)) { } else { $_.Trim() } } |
                                                    ForEach-Object { [convert]::ToInt32($_,16) } |
                                                    ForEach-Object { [convert]::ToChar($_) } |
                                                    ForEach-Object -Begin { $ss=[SecureString]::New() } -Process {$ss.AppendChar($_)} -End { $ss }))

$netCredInfo.UserName
$netCredInfo.Password
Run Code Online (Sandbox Code Playgroud)

您能否看一下并建议是否存在任何使代码不可靠的假设?

powershell credentials securestring networkcredentials powershell-core

3
推荐指数
1
解决办法
1915
查看次数