There are some hidden dependencies of running oracle database in a docker container under Fedora/CentOS/RedHat Linux.
STEP 1: Kernel parameters
Because the Oracle engine from the Docker container uses in fact the kernel of the host machine we cannot escape the need to set up some kernel parameters on the host.
On the host machine in /etc/sysctl.conf the following kernel parameters must be set
# Oracle Database 11g Express Edition Recommended Values kernel.sem = 250 32000 100 128 kernel.shmmax = 4294967295 fs.file-max = 6815744
PS: Maybe you need to add more parameters here so first gather all the kernel parameters that have to be changed for your environment.
In case ElasticSearch is used, as is my case, I had to add also:
vm.max_map_count=262144
To commit the changes without a system restart apply them executing as root:
sysctl -p
STEP 2: docker-runc dependency
For some strange reason on Fedora/CentOS/RedHat there is no docker-run executable. There is a RedHat support issue opened for this see issue
The fix for this is to create as root a symbolic link with that name:
ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
[paypal_donation_button]