The software described in this documentation is either in Extended Support or Sustaining Support. See https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdf for more information.
Oracle recommends that you upgrade the software described by this documentation as soon as possible.
      You can use the lxc-execute command to create a
      temporary application container in which you can run a command
      that is effectively isolated from the rest of the system. For
      example, the following command creates an application container
      named guest that runs sleep
      for 100 seconds.
    
[root@host ~]# lxc-execute -n guest -- sleep 100While the container is active, you can monitor it by running commands such as lxc-ls --active and lxc-info -n guest from another window.
[root@host ~]#lxc-ls --activeguest [root@host ~]#lxc-info -n gueststate: RUNNING pid: 7021
If you need to customize an application container, you can use a configuration file. For example, you might want to change the container's network configuration or the system directories that it mounts.
      The following example shows settings from a sample configuration
      file where the rootfs is mostly not shared
      except for mount entries to ensure that
      lxc-init and certain library and binary
      directory paths are available.
lxc.utsname = guest lxc.tty = 1 lxc.pts = 1 lxc.rootfs = /tmp/guest/rootfs lxc.mount.entry=/lib /tmp/guest/rootfs/lib none ro,bind 0 0 lxc.mount.entry=/usr/libexec /tmp/guest/rootfs/usr/lib none ro,bind 0 0 lxc.mount.entry=/lib64 /tmp/guest/rootfs/lib64 none ro,bind 0 0 lxc.mount.entry=/usr/lib64 /tmp/guest/rootfs/usr/lib64 none ro,bind 0 0 lxc.mount.entry=/bin /tmp/guest/rootfs/bin none ro,bind 0 0 lxc.mount.entry=/usr/bin /tmp/guest/rootfs/usr/bin none ro,bind 0 0 lxc.cgroup.cpuset.cpus=1
      The mount entry for /usr/libexec is required so
      that the container can access
      /usr/libexec/lxc/lxc-init on the host system.
    
      The example configuration file mounts both /bin
      and /usr/bin. In practice, you should limit the
      host system directories that an application container mounts to
      only those directories that the container needs to run the
      application.
    
        To avoid potential conflict with system containers, do not use
        the /container directory for application
        containers.
      
      You must also configure the required directories under the
      rootfs directory:
    
[root@host ~]#TMPDIR=/tmp/guest/rootfs[root@host ~]#mkdir -p $TMPDIR/lib $TMPDIR/usr/lib $TMPDIR/lib64 $TMPDIR/usr/lib64 \ $TMPDIR/bin $TMPDIR/usr/bin $TMPDIR/dev/pts $TMPDIR/dev/shm $TMPDIR/proc
      In this example, the directories include
      /dev/pts, /dev/shm, and
      /proc in addition to the mount point entries
      defined in the configuration file.
    
      You can then use the -f option to specify the
      configuration file (config) to
      lxc-execute:
    
[root@host ~]# lxc-execute -n guest -f config -- ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
0            1     0  0 08:56 ?        00:00:00 /usr/lib/lxc/lxc-init -- ps -ef
0            2     1  0 08:56 ?        00:00:00 ps -ef
      This example shows that the ps command runs as
      a child of lxc-init.
    
      As for system containers, you can set cgroup
      entries in the configuration file and use the
      lxc-cgroup command to control the system
      resources to which an application container has access.
    
lxc-execute is intended to run application containers that share the host's root file system, and not to run system containers that you create using lxc-create. Use lxc-start to run system containers.
      For more information, see the lxc-execute(1)
      and lxc.conf(5) manual pages.
    

