Moving Domino to a container

Saturday, November 21, 2020 at 8:07 PM UTC

Today I successfully moved a Domino server from a native installation on a non-supported Linux to a docker container. It actually wasn't really a moving as I installed a different server version. The original server was V11 and the containerized one now is of course the latest code drop of V12. 

I used my own guide to create the new container, copied over the existing server id to the volume that holds the notes data and then began to move the data step by step to the new data directory. I used this also to clean up a bit, so I did not copy everything I found.

I also used the copy command of docker but I experienced some issues with file attributes of the copied file. For example after I copied a file with

docker cp myfile.nsf my-domino:/local/notesdata

I found this file to have weird attributes:

-rwxr-xr-x 1 1001 1001 1728512 Nov 21 13:23 myfile.nsf

You can imagine what the server then told me: 

11/21/2020 20:03:25   Database Fixup: Unable to fixup database /local/notesdata/myfile.nsf: Read-only database

Trying to change the owner of the file directly on the "machine" is useless as you cannot switch to a super user or root account. Instead use the exec command from docker outside the container, you don't have to go inside it:

docker exec -u root -it my-domino chown notes:root /local/notesdata/myfile.nsf

This executes the chown command as root on that particular file.

To avoid all this use the archive flag of the copy command when copying files to the volume that is used:

docker cp -a myfile.nsf my-domino:/local/notesdata

This preserves all attributes, owners and ids and you don't need to treat it afterwards like above.





Latest comments to this post

Oliver wrote on 25.11.2020, 08:00

Ulrich,

this was a mistake - of course I copied the files to a persistent volume (notesdata) and not the container.

 Reply to this comment
 Link to this comment
Ulrich Krause wrote on 23.11.2020, 17:22

Why do you copy the files into the container? Use a persistent volume. Just sayin‘. 

 Reply to this comment
 Link to this comment

Leave a comment right here