小编Anu*_*kuL的帖子

如何使用container-id重启容器?

我使用命令创建了一个容器

docker run ubuntu /bin/bash -c "echo 'cool content' > /tmp/cool-file"
Run Code Online (Sandbox Code Playgroud)

现在我看到容器已退出

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
9e5017aef3f9        ubuntu              "/bin/bash -c 'echo '"   38 seconds ago      Exited (0) 36 seconds ago                       elegant_euler
Run Code Online (Sandbox Code Playgroud)

问题:如何使用其容器ID重新启动并进入此容器的交互模式?
我不能使用,docker run -it <image_name>因为这需要图像名称而不是容器ID.我尝试使用docker attach,但我认为这只适用于运行容器.我还不想提交这个容器,如何使用它的container-id重新启动并进入这个容器的交互模式?
编辑:我可以使用docker start {container-id}然后运行其他容器docker attach {container-id}.我想知道是否有一些特殊的东西,我创建容器的方式会导致这种行为.我刚开始使用码头工具,所以如果我错过了一些基本位,请指引我正确的方向.

docker

10
推荐指数
2
解决办法
2万
查看次数

如何使用代码中的注释从python生成swagger规范文件(json)?

问题陈述:我想自动生成JSON API的机器和人类可读规范,这样任何人都可以看到我们的API并与之交互.
其中一个可行的解决方案是使用OpenAPISpecification(fka swagger).我无法找到一个可以理解的指南,特别是龙卷风使用招摇,所以我的问题是:

  1. 如何从python代码中的注释自动生成swagger规范文件?
  2. 我也使用JSON模式进行输入验证,如何将这些模式与swagger规范集成.

我的API是用龙卷风4.3在python 2.7.11中编写的.如果您有任何其他建议,请提出建议,而不是使用招摇.

更新:Apispec是一个有趣的开端,但它无法与JSON模式,截至目前被使用,所以不回答我的问题完全.

python documentation tornado swagger-2.0

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

合并k个已排序的链表 - 分析

我正在考虑针对一个问题的不同解决方案.假设我们有K个已排序的链表,我们将它们合并为一个.所有这些列表一起具有N个元素.

众所周知的解决方案是使用每个列表中的优先级队列和弹出/推送第一个元素,我可以理解为什么需要O(N log K)时间.

但让我们来看看另一种方法.假设我们有一些MERGE_LISTS(LIST1, LIST2)程序,它合并了两个已排序的列表,这需要O(T1 + T2)时间,地点T1T2位置LIST1以及LIST2大小.

我们现在所做的通常意味着将这些列表配对并将它们逐对合并(如果数字是奇数,则最后一个列表,例如,在第一步可以忽略).这通常意味着我们必须制作合并操作的以下"树":

N1, N2, N3...代表LIST1, LIST2, LIST3尺寸

  • O(N1 + N2) + O(N3 + N4) + O(N5 + N6) + ...
  • O(N1 + N2 + N3 + N4) + O(N5 + N6 + N7 + N8) + ...
  • O(N1 + N2 + N3 + N4 + .... + NK)

看起来很明显会有log(K)这些行,每个行都实现O(N)操作,因此MERGE(LIST1, LIST2, ... …

algorithm merge list

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

如何制作Geo-distributed Active-Active Redis集群架构

问题陈述:我的应用程序将部署在 3 个不同的区域,即:北美、欧洲和亚洲。我想构建一个具有以下约束的 redis 架构:

  1. 每个区域都应该有自己的Redis集群,可以有多个master和slave。
  2. 每个区域的集群应该能够在本地处理写入和读取。

让我详细说明第二点:我希望所有区域都应该有自己的数据副本。因此,欧洲的应用程序写入的任何新数据都应该转到欧洲地区的 redis 集群,而不是任何其他地区。然后这些数据可以(异步)复制到亚洲和北美地区。

到目前为止,我发现我不能使用 redis 哨兵,因为我想要多个主人。我不能使用(我认为)redis 集群在不同的区域上有主节点,因为这会在所有区域中分片数据,因此欧洲的应用程序可以尝试写入在亚洲的 redis 主节点上分片的密钥。

所以我的问题是:Redis OS 现在()还是在不久的将来可以使用这种架构?

我读过这个这个这个在作这样的声明此功能以前无法但是,看来这功能可在Redis的Entireprise这里虽然,我无法找到关于这一主题的Redis的开源版本的任何东西。

redis redislabs

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