【问题标题】:Behat container keeps exitingBehat 容器不断退出
【发布时间】:2020-12-29 06:42:42
【问题描述】:

我正在使用以下代码创建一个 Behat docker 容器:

version: '3'
services:
  behat:
    container_name: behat.test
    image: docksal/behat
#    command: tail -F anything
#    tty: true
#    ports:
#      - 4444:4444
#    restart: always

但是我遇到了一个持续存在的问题,即容器不断退出并显示代码 1,因此我无法与容器交互。 代码中所有被注释掉的部分都是我试图解决的问题。

这是我运行 docker-compose up -d --build 时 Behat 容器的输出:

d8c515771e4d        docksal/behat                              "behat"                  6 seconds ago       Exited (1) 5 seconds ago                            behat.test

更新

我发现 Behat 报告了以下错误:

 `FeatureContext` context class not found and can not be used.

【问题讨论】:

  • 您是自己构建映像,还是从 Docker Hub 运行预构建的映像?如果是您自己的图像,您可以编辑问题以包含其 Dockerfile 吗?
  • 请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。
  • (顺便说一句:您的帖子仍然很健谈,并且带有一些唠叨,需要的语气。请再次尝试坚持技术写作,以减少志愿者编辑所需的工作量)。
  • @DavidMaze:我正在使用预建的 docksal/behat 图像

标签: docker docker-compose behat


【解决方案1】:

FeatureContext 上下文类未找到,无法使用。

这意味着behat找不到需要的features,你可以使用behat --init来初始化一个。

$ docker run --rm -v $(pwd):/src docksal/behat --init
+d features - place your *.feature files here
+d features/bootstrap - place your context classes here
+f features/bootstrap/FeatureContext.php - place your definitions, transformations and hooks here

然后在你的主机中,会有一个features 文件夹,然后再次运行命令,现在就可以了:

$ docker run --rm -v $(pwd):/src docksal/behat
No scenarios
No steps
0m0.00s (7.73Mb)

对于docker-compose,也是一样的,你需要保证有features挂载到容器上。您可以参考official folder structure 进行设计,下一步是可行的步骤:

  1. 在当前文件夹中:

    docker run --rm -v $(pwd):/src docksal/behat --init
    
  2. 写一个docker-compose.yaml,如下:

    version: "2.1"
    
    services:
      # Behat
      behat:
        hostname: behat
        image: ${BEHAT_IMAGE:-docksal/behat}
        volumes:
          - .:/src
        # Run a built-in web server for access to HTML reports
        ports:
          - 8000:8000
        entrypoint: "php -S 0.0.0.0:8000"
    
  3. docker-compose up -d

    $ docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             
    STATUS              PORTS                     NAMES
    55f506afe31a        docksal/behat       "php -S 0.0.0.0:8000"    29 seconds ago      Up 25 seconds       0.0.0.0:8000->8000/tcp    2020121502_behat_1
    $ docker logs 2020121502_behat_1
    PHP 7.3.25 Development Server started at Tue Dec 15 05:39:00 2020
    

【讨论】:

    猜你喜欢
    • 2020-09-09
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2017-02-19
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多