首页 > 解决方案 > Docker - 在构建期间在主机上运行命令

问题描述

我的查询类似于docker build 期间主机上的此执行命令,但我需要在执行命令时运行容器。

背景 - 我正在尝试使用 mysql:8.0 图像为应用程序的数据库部分创建基本图像。该产品的安装说明要求我运行 DDL 脚本来创建数据库(完成,通过将 .sql 文件复制到入口点目录),但第二步涉及运行基于 java 的应用程序,该应用程序读取各种配置文件以插入所需的数据到正在运行的数据库中。我希望以某种方式在 dockerfile 中捕获第二步,这样我就可以构建一个包含表和初始数据的新基础映像。

我想到的事情:

  1. 安装java并将相当大的配置工具复制到容器并执行适当的命令,但我想避免将java安装到数据库容器中,如果可以的话,当然还有后续的图像。
  2. 我可以手动在主机上运行配置工具并连接到正在运行的容器,但我的理解是这仅适用于正在运行的容器 - 我无法将其放入新图像中?它需要从 dockerfile 中完成docker build 才能工作。

我怀疑 docker 不是为此而设计的。

标签: dockerdockerfile

解决方案


推荐阅读