Preparing the Oracle Linux Computer for the Container Images
Use these steps to prepare a supported Linux host for the PeopleSoft container image installation.
Updating the Linux Operating System
Perform the following before the installation:
- (Optional) Perform a full operating system (OS) update on the Oracle Linux computer by running this command:
sudo dnf update -y && sudo dnf clean allNote:
An OS update can take a long time and download a few GB data for the update. - If a kernel update was applied, reboot the computer so that it uses the new kernel.
sudo reboot - Locate nscd.
This is required only for Linux 9.
rpm -q nscd systemctl status nscd systemctl is-enabled nscd - Disable nscd.
This is required only for Linux 9.
sudo systemctl stop nscd sudo systemctl disable nscd systemctl status nscd
Installing Podman and Podman Compose
Install or update podman.
- Check the status.
podman -v - If Podman is present, update it if necessary
sudo dnf update -y podman - If Podman is not present, follow the instructions in the Oracle Linux documentation to install it.
See Oracle Linux, Podman User's Guide, Install Podman, https://docs.oracle.com/en/operating-systems/oracle-linux/podman/install.html.
- Install the Podman Compose package.
See "Use Compose Files with Podman on Oracle Linux," Install Podman Compose, https://docs.oracle.com/en/learn/ol-podman-compose/index.html#introduction.
Setting Up Podman in Rootless Mode
Run the following commands to authorize users and group IDs:
echo "${USER}:231072:65536" | sudo tee -a "/etc/subuid"
echo "${USER}:231072:65536" | sudo tee -a "/etc/subgid"
podman system migrate
podman info | grep rootlessThe output of the podman info command should include rootless: true.
Setting Podman Resource Limits
See the Podman Troubleshooting guide for instructions on allowing non-root users to set resource limits. Follow the instructions in item 26) Running containers with resource limits fails with a permissions error.
See Podman Troubleshooting, https://github.com/containers/podman/blob/main/troubleshooting.md
Configuring the Podman Storage
Configure the Podman storage path for a non-root user.These commands assume that the storage location is /scratch/podman-${USER}/storage.
See Oracle Linux, Podman User's Guide, Podman Storage, https://docs.oracle.com/en/operating-systems/oracle-linux/podman/storage.html#storage.
- Create directories in the storage location and give the owner read/write/execute permission with these commands.
Replace ${USER} with the user ID.
mkdir -p "/scratch/podman-${USER}/storage" mkdir -p "/scratch/podman-${USER}/storage/tmp" chmod -R 700 "/scratch/podman-${USER}/storage" - Create a containers directory and a storage configuration file.
mkdir -p ~/.config/containers vi ~/.config/containers/storage.conf - Use the vi editor to add the following content to storage.conf.
[storage] driver = "overlay" rootless_storage_path = "/scratch/podman-${USER}/storage" - Save the file and exit the vi editor.
Enter ESC to leave editing mode, then :wq.
Configuring the Container Configuration File
Set up the container configuration file.
Note:
Enter each command on a single line.- Use the vi editor to create a container configuration file.
vi ~/.config/containers/containers.conf - Add the following content:
[engine] stop_timeout = 90 image_copy_tmp_dir = "storage"The parameter image_copy_tmp_dir is /scratch/podman-${USER}/storage/tmp in this example.
- Save the file and exit the vi editor.
Enter ESC to leave editing mode, then :wq.
- Verify the configuration.
podman info | grep -i storageThe output should include the storage directory. For example:configFile: /home/user/.config/containers/storage.conf graphRoot: /scratch/podman-user/storage imageCopyTmpDir: /scratch/podman-user/storage/tmp volumePath: /scratch/podman-spurushe/storage/volumes
Preventing Shutdown on Logout
Enable linger to prevent systemd from shutting down your containers when you log out.
sudo loginctl enable-linger "$(whoami)"See item 17) "rootless containers exit once the user session ends" in the Podman Troubleshooting guide.
See Podman Troubleshooting, https://github.com/containers/podman/blob/main/troubleshooting.md
Creating the nodocker File
Create a file called nodocker in /etc/containers. This is used by the Podman build.
sudo touch "/etc/containers/nodocker"Setting Proxy Environment Variable
Ensure that the following proxy-related environment variables are configured with the correct values for your environment.
export http_proxy=<proxy value>
export https_proxy=<proxy value>
export no_proxy=<proxy values for exclusions>Verifying Podman
To confirm that Podman works, enter this command:
podman run --rm hello-worldOr run this command:
podman run --rm quay.io/podman/helloModifying the sysctl Settings
Use the vi editor to modify the /etc/sysctl.conf file for the installation.
sudo vi "/etc/sysctl.conf"These sysctl settings will be inherited by the containers.
# sysctl setting for PeopleTools
kernel.msgmnb = 65538
kernel.msgmni = 1024
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.core_uses_pid = 1
# sysctl setting for PeopleTools search (OSK)
vm.max_map_count=262144
net.core.somaxconn=1024Verify the sysctl setting.
sudo /usr/sbin/sysctl -pVerifying Access to the Oracle Container Registry
This section is required for users that will build and run containers. The user should perform these steps to verify they can obtain the necessary images from Oracle Container Registry (OCR). This can be a non-root user.
Note:
The procedure to install the PeopleSoft container images does not access the OCR. This access is needed in the next section to verify storage.- Generate an Oracle Container Registry authentication token.
Note:
The authentication token is required to download licensed software.After logging into the registry, use the command Generate Secret Key. Use the resulting key in the next step.
See Oracle Linux, Podman User's Guide, Container Registries, https://docs.oracle.com/en/operating-systems/oracle-linux/podman/registries.html#registry_ocr_token.
- Log in to Oracle Container Registry with Podman.
podman login -u <username> -p <auth token generated from container-⇒ registry.oracle.com> container-registry.oracle.com - Sign in using your Oracle Account to accept the license agreement for the Oracle container you have selected.
- Test pulling an Oracle Linux 9 image.
podman pull container-registry.oracle.com/os/oraclelinux:9
Configuring Podman Storage Maintenance
Use the following steps to inspect and clean Podman storage when standard pruning is insufficient. Use with caution as some actions are destructive.
- View the Podman storage location.
podman info | grep graphRoot - View the Podman storage size.
Note:
The command ends with a period, indicating the current directory.cd <podman storage location>; sudo du -hs . - Reset Podman.
podman system reset -f - View the Podman storage size again.
cd <podman storage location>; sudo du -hs . - Log in to Oracle Container Registry as described in the previous section.
mkdir -p "<podman storage location>/tmp" podman login -u <username> -p <auth token generated from container-⇒ registry.oracle.com> container-registry.oracle.com - Test pulling an image.
podman pull oraclelinux:9