【发布时间】:2018-08-14 07:10:10
【问题描述】:
我想通过以下步骤自动化我的应用程序的构建过程:
- 启动我的
build-system容器,该容器包含用于制作我的应用程序的最终 exe 的所有依赖项和脚本。 - 在构建系统容器中触发一个 bash 脚本来启动构建过程。
- 构建完成后,使用
docker cp或在启动容器时附加卷将 exe 传输到主机。 - 将 exe 转移到新的
dist-system容器中,该容器本质上是将存储在 Docker hub 中的最终映像。 - 在 dist 系统中安装应用程序,通过在该容器中触发另一个 bash 脚本进行自定义配置。
- 当第 5 步完成后,返回主机并运行 dist-system 容器的
docker commit,然后从主机运行docker push映像到 Docker 集线器。
我的问题具体涉及第 3 点和第 6 点,我需要知道 bash 脚本已在容器中完成执行。只有这样我才想在主机中触发 docker 命令。有没有办法通知 docker 在容器内执行 bash 脚本?
【问题讨论】:
-
整个序列听起来像是一个非常典型的两阶段
docker build,你应该研究它是如何工作的。你可能永远不应该直接使用docker commit(尽管这个序列比大多数序列都好)。docker exec也不打算成为在 Docker 中做事的核心路径。
标签: bash docker docker-compose dockerfile