小编Jav*_*aSa的帖子

声明env变量哪个值包含docker/docker-compose的空间

我有一个像这样的env变量值:
TEST_VAR=The value

有谁知道这是否合法?我应该"在码头工具中根据需要放置这个值吗?谢谢

编辑:引号不是一个好的解决方案,因为它将成为val的一部分参见此处.

docker docker-compose

9
推荐指数
3
解决办法
9183
查看次数

如何使用不同的签名创建多态方法

考虑我有一些抽象的 Vehicle类和汽车,卡车,摩托车抽象类派生自Vehicle.还想象一下,我必须能够为卡车和摩托车制造基于燃料的汽车或电动汽车等.(具体课程)

两个问题:

1.考虑到我想以多态的方式在车辆中充满能量而不知道它是什么.例如,如果车辆是基于燃料的,我想用燃料填充它,方法应该有3个参数:
void FillUpEnergy(EfuelType i_fuelType,int amounOfEnergy, int maxAmountOfEnergy)

但对于电动车辆,我需要几乎相同的功能,但这次当然没有燃料类型,例如(2个参数):

void FillUpEnergy(int amounOfEnergy, int maxAmountOfEnergy) 
Run Code Online (Sandbox Code Playgroud)

我可以FillUpEnergy用上述约束做一个多态方法吗?(不同方法的签名)

2.在我的实现中,所有具体类都有Engine(另一个抽象类)的引用,它代表一个FuelEngineElectricEngine(我从Engine派生的其他具体类).例如,我有一个名为的具体类ElectricCar,它包含一个引用ElectricEngine.
这种架构是否足够好或是否有更好的方法来实施车库系统?(在面向对象设计等方面......)

c# oop polymorphism inheritance

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

请求模块返回带有无序项的json

当我以requests这种方式使用python的模块时:

response = requests.get('http://[some_api_url]') print response.json() 与通过浏览器查看json相反,我获得了不同的json订购.

例如:
通过response.json()我得到:
[{"key2":"value2"},{"key1:"value1"}]

而通过浏览器,我认为它应该是: [{"key1:"value1"},{"key2":"value2"}]

编辑:response.text以正确的顺序打印它但不是json

python python-requests

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

pytest 按内容比较包含字典的两个列表

我有以下结构来说明:
list1 = [{'dict1':1}, {'dict2':2}] list2 = [{'dict2':2}, {'dict1':1}]

现在我如你所见,这两个列表的内容相同,但list1 == list2产生False.

我有一个测试,使用pytest它的哪一行是:
assert list1 == list2

我想要返回的能力True(内容检查),如果有差异以pytest类似的方式向他们展示它们,它会在执行以下操作时引发:
assert 'hi1'=='hi2'

任何想法将不胜感激

python pytest python-2.7

8
推荐指数
0
解决办法
2538
查看次数

无法访问基类中的受保护成员

考虑您有以下代码:

public abstract class MenuItem
    {
        protected string m_Title;
        protected int m_Level;
        protected MenuItem m_ParentItem;
        public event ChooseEventHandler m_Click;

        protected MenuItem(string i_Title, int i_Level, MenuItem i_ParentItem)
        {
            m_Title = i_Title;
            m_Level = i_Level;
            m_ParentItem = i_ParentItem;
        }
}
Run Code Online (Sandbox Code Playgroud)

public class ContainerItem : MenuItem
    {
    private List<MenuItem> m_SubMenuItems;

    public ContainerItem(string i_Title, int i_Level, MenuItem i_ParentItem)
                            :base(i_Title, i_Level, i_ParentItem)
    {
        m_SubMenuItems = new List<MenuItem>();
    }

    public string GetListOfSubItems()
    {
        string subItemsListStr = string.Empty;

        foreach (MenuItem item in m_SubMenuItems)
        {
           item.m_Title = …
Run Code Online (Sandbox Code Playgroud)

c# inheritance protected

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

我如何克隆MemoryStream对象?

我有一个MemoryStreamStream类型参数传递的对象
(Stream在C#中是抽象类).

我想克隆他,并创建另一个MemoryStream对象与原始的当前位置的一面,并创建一个新XMLReader的,所以我将能够阅读其内容.

这就是我所做的,它不起作用(调试标有//* - >的行newReader{None}值)
假设:你在一个方法内并有Stream currentStream参考.

var x = new XmlReaderSettings();
x.IgnoreWhitespace = true;  

 using (var newMemoryStream = new MemoryStream())
 {
         stream.CopyTo(newMemoryStream);

         using (var newReader = XmlReader.Create(newMemoryStream,x)) //*
         {

           Doing some stuff...

         }
 }
Run Code Online (Sandbox Code Playgroud)

c# memorystream xmlreader stream

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

rabbitmq队列中的多个消费者 - 只有一个得到消息

我实现了多个消费者,他们从单个队列中获取消息,我使用类似于此示例的内容进行此操作,除了我在无限循环上执行basic.get进行轮询.

任何想法如何防止所有消费者之间的竞争,因为只有一个消费者会得到消息而另一个消费者将继续进行轮询,直到另一个消息出现?
我试图遵循一个逻辑,一旦我收到消息,我就会删除消息,但似乎其他一些队列,设法在第一个获取消息之前获取消息并删除消息.所以大家都得到了这个消息

提前致谢

python amqp rabbitmq pika

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

使用rabbitmq docker镜像在rabbitmq.config中配置ssl

我的目标是使用 ssl 支持设置 rabbitmq,这是以前使用以下rabbitmq.config文件实现的,该文件位于主机的/etc/rabbitmq路径中。

现在我希望能够配置其他 rabbitmq 用户和密码而不是 defaults guest guest

我正在使用具有以下 docker-compose 配置的 rabbitmq docker 图像:

version: '2'
services:
    rabbitmq:
        build: ./rabbitmq
        ports:
          - "8181:8181"
        expose:
          - "15672"
          - "8181"
        volumes:
          - /etc/rabbitmq:/etc/rabbitmq

        environment:
          RABBITMQ_DEFAULT_USER: user123
          RABBITMQ_DEFAULT_PASS: 1234
Run Code Online (Sandbox Code Playgroud)

RabbitMQ 配置

version: '2'
services:
    rabbitmq:
        build: ./rabbitmq
        ports:
          - "8181:8181"
        expose:
          - "15672"
          - "8181"
        volumes:
          - /etc/rabbitmq:/etc/rabbitmq

        environment:
          RABBITMQ_DEFAULT_USER: user123
          RABBITMQ_DEFAULT_PASS: 1234
Run Code Online (Sandbox Code Playgroud)

Rabbitmq dockerfile

from rabbitmq:management

#and some certificate generating logic
Run Code Online (Sandbox Code Playgroud)

我注意到,一旦添加environment …

bash ssl rabbitmq docker docker-compose

6
推荐指数
1
解决办法
3620
查看次数

如何使用 docker-compose 环境变量填充配置文件

我是 docker-compose 的新手。
我试图了解如何通过 docker-compose 传递环境变量,以在Dockerfile构建阶段填充配置文件中缺少的变量值,因此在运行阶段,我将运行该服务 -rabbitmq其配置填充了 env变量值。

在 docker-compose yml 文件中,我有一个env_file:environment:,问题是如何将它们转发以填充配置文件。

当然,如果有任何帮助、想法和简单的例子,我们将不胜感激。

示例rabbitmq配置文件(带有环境变量,需要填充$SSL_PORT的值):

[{rabbit,
  [
    {loopback_users, []},
    {ssl_listeners, [$SSL_PORT]},
    {ssl_options, [{cacertfile,"/etc/rabbitmq/ca/cacert.pem"},
                   {certfile,"/etc/rabbitmq/server/cert.pem"},
                   {keyfile,"/etc/rabbitmq/server/key.pem"},
                   {verify,verify_none},
                   {fail_if_no_peer_cert,false}]}
  ]}
].
Run Code Online (Sandbox Code Playgroud)

bash rabbitmq docker docker-compose

6
推荐指数
1
解决办法
7622
查看次数

如何定义docker-compose服务登录graylog

我有docker-compose.yaml如下
问题:我的问题是标准输出打印或写入它的日志出现在灰色日志中 - 但只是在命令 /usr/bin/tini 下的那些 - foo1.start。当我尝试使用以下
docker exec -it [container_hash] bash
命令进入服务的 docker 容器时:启动命令,例如 echo "Hello" 或运行我将在其中执行的 python 脚本import sys; sys.stdout.write("Hello again")--> 在 Graylog UI 中收到的消息中不会出现这些消息。

知道为什么没有通过在容器内执行 shell 命令或脚本来收集 stdout 吗?并且仅从作为 make file 命令的结果运行的内容中收集打印?

我不理解这种行为,因为我将所有标准输出通过管道传输到 docker-compose 中的 gelf 日志驱动程序。
编辑如何在撰写中使用 graylog 的说明来自这里

version: '3.4'
  services:  
     foo1:  
        ports:
          - target: 8081
            published: 8084
            mode: host
        networks:
          - dev-net
        command: make foo1.start
        logging:
            driver: gelf
            options:
               gelf-address: udp://localhost:12201

     some-mongo:
        image: "mongo:3"
        networks:
          - dev-net …
Run Code Online (Sandbox Code Playgroud)

graylog2 docker docker-compose gelf

6
推荐指数
0
解决办法
1588
查看次数