1

My query is similar to this Execute Command on host during docker build but I need my container to be running when I execute the command.

Background - I'm trying to create a base image for the database part of an application, using the mysql:8.0 image. The installation instructions for the product require me to run a DDL script to create the database (Done, by copying .sql file to the entrypoint directory), but the second step involves running a java based application which reads various config files to insert the required data into the running database. I would like this second step to be captured in the dockerfile somehow so I can then build a new base image containing the tables and the initial data.

Things I've thought of:

  1. Install java and copy the quite large config tool to the container and EXEC the appropriate command, but I want to avoid installing java into the database container and certainly the subsequent image if I can.
  2. I could run the config tool on the host manually and connect to the running container but my understanding is that this would only apply to the running container - I couldn't get this into a new image? It needs to be done from the dockerfile for docker build to work.

I suspect docker just isn't designed for this.

Gordon Little
  • 141
  • 1
  • 2
  • 16

0 Answers0