A computer-implemented method (900) for creating or modifying an image file to produce a new image (520) for implementation as a container (523), wherein the computer-implemented method (900) comprises: Check (907, 909), by a
daemon (509), files or directories of a container
file system of the image file for changes to the files or directories; in response to checking (907, 909) the container
file system containing changes to the files or directories, filtering (607, 913), by the
daemon (509), an updated file that has been copied from the image file to a read / write layer; Compare (609, 915), by the
daemon (509), a hash value of an original file of the container
file system from a lower read-only layer (709) of the image file with a hash value of the updated file; as a response to comparing (609, 915) the hash value of the original file with the hash value of the updated file, where the hash value of the original file and the hash value of the updated file are identical (611, 917) or a difference between the hash value of the original file and the hash value of the updated file exceeds a standard difference value (613, 921), generating (919, 923) by the daemon (509) an overwrite and merge
data file, OMD file (620) containing an overwrite block and a merge block; Update (615, 617, 919, 923), by the daemon (509), from overwrite block
metadata from the
inode metadata (721) of the original file, stored in the lower layer (709) of the image file, to
metadata (621) of the updated file; and Remove (615, 617, 919, 923), by the daemon (509), the updated file from the container file
system.