I am being pressured to stop using docker desktop so I thought I'll have easy migration to podman on my Windows. I was wrong.
TL/DR: how can I use podman on Windows to run ibmcom/db2 image with volume persisting data outside of the container (PERSISTENT_HOME=true)?
I usually start ibmcom/db2 (ignoring icr.io migration for now) container like this:
docker run -itd --name mydb2 --privileged=true -p 50000:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=db2inst1 -e DBNAME=SOMENAME -v c:\db2data:/database ibmcom/db2
uninstalled Docker desktop, installed podman and run equivalent command:
podman run -itd --name podmandb2 --privileged=true -p 50002:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=db2inst1 -e DBNAME=SOMENAME -v C:\db2data2:/database ibmcom/db2
this fails with error somewhere in the logs:
The instance home directory "/database/config/db2inst1" is invali
d because it is not owned by the user "db2inst1". Change the ownership of the home directory to be owned by the instance user and its primary group.
I have also tried adding
-e
PERSISTENT_HOME=false
then the volume files start piling but db2 is not serving my database. Error in the container log is:
SQL1326N The file or directory "/database/data/" cannot be accessed.
(that directory appeared in the volume)
And finally I tried to run without the volume (really not persiting)
podman run -itd --name podmandb2-again --privileged=true -p 50003:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=db2inst1 -e DBNAME=SOMENAME -e PERSISTENT_HOME=false ibmcom/db2
This one runs.
------------------------------
Tvrtko Mrkonjić
------------------------------