Docker执行命令失败,退出代码为137

lx0bsm1f  于 2022-12-11  发布在  Docker
关注(0)|答案(2)|浏览(665)

我正在运行一个CICD管道,该管道使用docker exec在一个docker容器内运行一个测试脚本,并且每第三次或第四次都会失败,返回代码为137。

docker-compose -p 1234 -f docker-compose.yml exec -T webapp run_tests.sh
STATUS=$?
...
docker-compose -p 1234 -f docker-compose.yml logs --no-color webapp
...
exit $STATUS

问题是每当它失败退出代码137,容器被立即杀死,没有日志可供调试。我认为137是由一些外部进程造成的,但我无法跟踪它。任何对此的见解将是非常有帮助的。

doinxwow

doinxwow1#

感谢您的提问,我遇到了一个相关错误,它与内存限制有关,请尝试增加交换内存。这里有一个与similar problem相关的链接

luaexgnf

luaexgnf2#

我也遇到了相关的错误,在我的例子中,我在Jenkins版本上执行docker-compose exec时遇到了错误。通过将deploy配置添加到docker-compose.yaml以增加内存限制来修复

# docker-compose.yaml
version: '3.8'
services:
  app:
    image: my-app:1.0.0
    build:
      context: .
      dockerfile: ./Dockerfile 
    # ports: 
    # networks: 
    # volumes: 
    # depends_on: 
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 128M

尝试更改deploy.resources.limits.memorydeploy.resources.reservations.memory
参考:https://docs.docker.com/compose/compose-file/deploy/#resources

相关问题