2.2.17 Linux Containers (LXC)

  • The Linux Containers package (lxc) is available for the x86-64 architecture with UEK R3 but not i386.

  • The default location for a container's configuration has changed from /etc/lxc/name to /container/name in lxc 0.8.0 onward.

    To start a container that you created with a previous update of Oracle Linux, specify the -f option to lxc-start, for example:

    # lxc-start -n ol6u3 -f /etc/lxc/ol6u3/config

    To convert an existing container to use the new location:

    1. Move the container's configuration directory to /container/name:

      # mv /etc/lxc/name /container 

    2. Edit the /container/name/config file and change the values of any lxc.rootfs and lxc.mount parameters to refer to /container instead of /etc/lxc.

      For example, the config file might contain the following entries:

      lxc.rootfs = /etc/lxc/example/rootfs
      lxc.mount.entry=/lib /etc/lxc/example/rootfs/lib none ro,bind 0 0
      lxc.mount.entry=/usr/lib /etc/lxc/example/rootfs/usr/lib none ro,bind 0 0
      lxc.mount.entry=/lib64 /etc/lxc/example/rootfs/lib64 none ro,bind 0 0
      lxc.mount.entry=/usr/lib64 /etc/lxc/example/rootfs/usr/lib64 none ro,bind 0 0

      You would change these entries to read:

      lxc.rootfs = /container/example/rootfs
      lxc.mount.entry=/lib /container/example/rootfs/lib none ro,bind 0 0
      lxc.mount.entry=/usr/lib /container/example/rootfs/usr/lib none ro,bind 0 0
      lxc.mount.entry=/lib64 /container/example/rootfs/lib64 none ro,bind 0 0
      lxc.mount.entry=/usr/lib64 /container/example/rootfs/usr/lib64 none ro,bind 0 0

    After converting the container, you do not need to specify the -f option to lxc-start. (Bug ID 15967411)

  • Attempting to create an lxc-oracle container on a remote file system mounted using NFS v4 fails. In addition, attempting to mount a remote file system using NFS v4 from within an lxc-oracle container also fails. The workaround is to use NFS v3 instead. (Bug ID 16316266)