簡體   English   中英

Docker exec 命令失敗,退出代碼為 137

[英]Docker exec command is failing with EXIT CODE 137

我正在運行一個 CICD 管道,該管道在 docker 容器內運行一個測試腳本,其中包含 docker exec,並且每第 3 次或第 4 次失敗並返回代碼 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

事情是每當它失敗並顯示 EXIT CODE 137 時,容器會立即被殺死並且沒有可用於調試的日志。 我認為 137 是由某些外部進程引起的,但我無法追蹤到它。 對此的任何見解都會非常有幫助。

感謝您的問題,我遇到了一個相關的錯誤,它與內存限制有關,請嘗試增加您的交換內存。 這是與有類似問題的人的鏈接

我也遇到了相關的錯誤,在我的情況下,我在 Jenkins 構建上執行 docker-compose exec 時出錯。 通過將deploy配置添加到docker-compose.yaml以增加 memory 限制來修復

# 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM