gpt4 book ai didi

bash - 如何使用 bash 命令强制取消 dockerbuild?

转载 作者:行者123 更新时间:2023-11-29 09:51:21 28 4
gpt4 key购买 nike

我问的原因是因为我们正在使用 AWS codebuild 并且我需要进行数据库迁移。如果数据库迁移中断,我想取消代码构建并回滚刚刚进行的迁移。我已经让这部分工作了,我现在需要做的就是中途取消 dockerbuild。我该怎么做?

这是我的带有 knex 迁移命令的 .sh 文件:

#!/bin/bash
echo "running"
function mytest {
"$@"
local status=$?
if [ $status -ne 0 ]; then
knex migrate:rollback
echo "Rolling back knex migrate $1" >&2
exit
fi
return $status
}

mytest knex migrate:latest

运行 exit 不会取消/中断 docker 构建。

我的 Dockerfile(以防万一):

FROM node:6.2.0

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install

# Bundle app source
COPY . /usr/src/app
RUN chmod +x /usr/src/app/migrate.sh
RUN /usr/src/app/migrate.sh


EXPOSE 8080

CMD npm run build && npm start

最佳答案

Running exit will not cancel/break the docker build.

运行 exit 1 应该

Docker 应响应所述 Dockerfile 中的 RUN shell 脚本返回的错误代码。

关于bash - 如何使用 bash 命令强制取消 dockerbuild?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478011/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com