如何正确卷曲和停止 Bitbucket 的 CI/CD 管道中的 Docker 容器?

问题描述 投票:0回答:1

我在 Bitbucket 管道中创建了一个 Docker 构建步骤。这个想法是拉取图像->构建容器->卷曲容器。完成此序列后,此步骤就完成了。

以下是此 Bitbucket 管道步骤的部分代码:

docker-test: &docker-test-step
  name: docker-test
...
...
... 
...
script:
        - docker run -p 8080:8080 -e DVC_BEARER_TOKEN=$(gcloud auth print-access-token) -e MODEL_DIR="model_checkpoints/$MODEL_TYPE/$CUSTOMER/" $IMAGE
        - echo "RUN SUCCESSFULLY"
        - echo "curl http://localhost:8080/"

在我的 Bitbucket 管道中,我可以观察运行程序如何运行

docker run
命令。在 docker run 命令之后,我在 Bitbucket 管道中观察到此输出:

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)

这意味着容器存在并且可以工作。但该步骤尚未在管道中完成(它不是绿色(即已完成))并且状态为“正在运行”。

我的问题是如何调整 bitbucket.yaml 文件来完成此 docker-test 步骤并进一步移动到

- echo "RUN SUCCESSFULLY"
- echo "curl http://localhost:8080/"
步骤?

docker bitbucket cicd bitbucket-pipelines
1个回答
0
投票

您需要使用

--detach
选项运行容器。请参阅https://docs.docker.com/engine/reference/commandline/run/#options

 script:
   - docker run --detach # ...
   # ...

注意:这将立即继续,而无需等待容器准备好,因此您的立即卷曲探针无论如何都会失败。

© www.soinside.com 2019 - 2024. All rights reserved.