小编Blo*_*oze的帖子

docker-compose,在容器启动后运行脚本?

我有一个服务,我通过牧场主通过docker-compose提出.我遇到的问题是我需要在部署容器后设置密码.

牧场主秘密工作的方式是,我设置我的秘密,牧场主将在我的容器上装载一个包含我的秘密的文件.我希望能够执行一个脚本来获取该秘密,并将其设置为我的配置文件中的密码.

我不相信我有办法通过Dockerfile获取秘密,因为我不想让秘密存在于git中,所以我只是想通过docker-compose来做这件事.

有谁知道这是否可能?

docker dockerfile docker-compose rancher

20
推荐指数
4
解决办法
3万
查看次数

实时从命令 exec 捕获标准输出

我目前正在开发一个可以执行命令的聊天机器人。我希望它做的一件事是能够运行脚本并将脚本的标准输出输出到聊天中。

我遇到的问题是该函数收集脚本的所有标准输出并在最后返回它们,我想尝试修改它以实时写入并且在这样做时遇到了问题。

我认为这个问题可能涉及到它只有一种方法可以将文本返回到聊天频道,那就是通过重启的返回功能。但是,如果可能的话,我想遍历 exec 命令并输出。

这是我的代码:

func reboot(command *bot.Cmd) (string, error) {
    n := command.Args[0]
    // this return is what all gets sent into chat channel
    return runcommand(n), nil
  }


func runcommand(server string) string {
    cmd := exec.Command("/bin/bash", "-c", "python test.py %s", server)
    cmdOutput := &bytes.Buffer{}
    cmd.Stdout = cmdOutput
    err := cmd.Run()
    if err !=nil {
        os.Stderr.WriteString(err.Error())
    }
        return fmt.Sprintf(string(cmdOutput.Bytes()))
}
Run Code Online (Sandbox Code Playgroud)

go

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

计算 Pi 到第 N 位

我正在尝试输入一个数字并计算该数字输入的 pi。我设法能够计算 Pi,但是无论我输入什么数字,它仍然会生成相同数量的 Pi 数字。

我在什么时候导致这样做有点困惑

from math import factorial
from decimal import Decimal, getcontext
# Chudnovsky algorithm for figuring out pi
getcontext().prec=100

pi_input = input('How many digits of pi would you like?')
n = int(pi_input)

def calc(n):
    t= Decimal(0)
    pi = Decimal(0)
    deno= Decimal(0)

    for k in range(n):
        t = ((-1)**k)*(factorial(6*k))*(13591409+545140134*k)
        deno = factorial(3*k)*(factorial(k)**3)*(640320**(3*k))
        pi += Decimal(t)/Decimal(deno)
    pi = pi * Decimal(12) / Decimal(640320 ** Decimal(1.5))
    pi = 1/pi
    return pi

print calc(n)
Run Code Online (Sandbox Code Playgroud)

这是我的输出

How many digits of pi …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

使用python解析json - 字符串索引必须是整数

python的新手,我正在尝试编写一个脚本来解析一个json文件,只打印出状态不是"STARTED"并退出代码2的任何值的id和状态.如果他们都说STARTED则不打印任何内容并退出0.

但是,我收到错误"字符串索引必须是整数"任何关于我如何尝试阅读这个json的问题的建议?

import json
jsonFile = open('topics.json', 'r')
data = json.load(jsonFile)

for check in data['rows']:
    if check['state'] is not "STARTED":
        print check['id']['state']
Run Code Online (Sandbox Code Playgroud)

这是我的topics.json的一个例子

{
  "page": 0,
  "page_size": 100,
  "total_pages": 10,
  "total_rows": 929,
  "headers": [
    "*"
  ],
  "rows": [
    {
      "id": "168",
      "state": "STARTED"
    },
    {
      "id": "169",
      "state": "FAILED"
    },
    {
      "id": "170",
      "state": "STARTED"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

python json

0
推荐指数
1
解决办法
652
查看次数

标签 统计

python ×2

docker ×1

docker-compose ×1

dockerfile ×1

go ×1

json ×1

python-2.7 ×1

rancher ×1