小编Kri*_*czi的帖子

在 shell 脚本中处理 docker 事件

我想捕获 docker 事件并在发生某些情况时执行某些操作。有很多方法可以“获取/打印事件”:

# With curl
curl --unix-socket /var/run/docker.sock http:/v1.40/events

# With nc
echo -e "GET /events HTTP/1.0\r\n" | nc -U /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

但是有没有办法连续监听并处理每一行/事件?例如:

while EVENT ?magic?; do
    ACTION=$(echo $EVENT | jq .Action )
    if [ $ACTION -eq "start" ]; then ....; fi
done
Run Code Online (Sandbox Code Playgroud)

解决方案

@Adiii 回答后,一个简短的解决方案:

#!/bin/bash

function handle {
    # Check the line is a JSON line:
    if [[ ${1:0:1} == "{" ]]; then

        # ... You can do here anything ...

        # Print: "LOG $line", "LOG" is green …
Run Code Online (Sandbox Code Playgroud)

bash shell curl docker docker-api

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

Symfony2 + Behat 3:在Bundle内部而不是在features/bootstrap目录中生成Context文件

如何运行behat --init -s bugfix以在Bundle中生成Context文件?有没有办法做到这一点?我看到了,Sf2DemoBundle但我没有解决它是如何工作的.

我的文件

# /composer.json
    "behat/behat": "dev-master",
    "behat/mink": "dev-master",
    "behat/mink-extension": "dev-master",
    "behat/symfony2-extension": "dev-master",
    "behat/mink-goutte-driver": "dev-master",
    "behat/mink-browserkit-driver": "dev-master",
    "behat/mink-selenium2-driver": "dev-master",
Run Code Online (Sandbox Code Playgroud)
# /behat.yml
default:
    suites:
        default:
            path: %paths.base%/features
            contexts: [Behat\MinkExtension\Context\MinkContext]
        bugfix:
            type: symfony_bundle
            bundle: 'TestBugfixBundle'
            contexts: ['TestBugfixBundle\Features\Context\WebContext']
    extensions:
        Behat\Symfony2Extension: ~
        Behat\MinkExtension:
            default_session: 'symfony2'
            sessions:
                symfony2:
                    symfony2: ~
Run Code Online (Sandbox Code Playgroud)

解决方案

您必须将autoload参数设置为behat:

# /behat.yml
default:
    autoload:
        '': %paths.base%/src
Run Code Online (Sandbox Code Playgroud)

symfony behat

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

标签 统计

bash ×1

behat ×1

curl ×1

docker ×1

docker-api ×1

shell ×1

symfony ×1