FROM python
COPY ./src ./src
COPY ./${APP} ./${APP}
ARG APP=undefined
ENV APP ${APP}
CMD python -m ${APP}
使用相同的代码,我需要启动 2 个应用程序 start_1 和 start_2。这是在APP ARG 中定义的。
所以要构建和启动一个特定的应用程序,我会使用sudo docker build --build-arg APP=start_1
&sudo docker run imagename
但是,我需要应用程序接收SIGTERM信号(用于正常关闭),这是不可能的,因为我使用 CMD shell 表单来读取APP ENV 参数。不幸的是,外壳形式不会传播信号。
所以我正在寻找一种在 exec 表单中包含APP参数或使用 shell 表单传递信号的方法。