Skip to content
Advertisement

Commit data in a mysql container

I created a mysql container using the officially supported mysql image. I ran the image mounting a folder that contains a sql dump, then I created a new database in the container and imported the .sql dump in it:

JavaScript

Then I listed the running containers to get that container’s id:

JavaScript

Then, I commited the container (with the imported sql) as a new container image

JavaScript

However, when if I start a container using that new image, the mysql database doesn’t contain the newly created database liferay_psat1.

JavaScript

What am I doing wrong?

Thanks for your help!

Advertisement

Answer

The official mysql image stores data in a volume. Normally this is desired so that your data can persist beyond the life span of your container, but data volumes bypass the Union File System and are not committed to the image.

You can accomplish what you’re trying to do by creating your own mysql base image with no volumes. You will then be able to add data and commit it to an image, but any data added to a running container after the commit will be lost when the container goes away.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement