The software described in this documentation is either no longer supported or is in extended support.
Oracle recommends that you upgrade to a current supported release.

2.2 Upgrading Docker

Docker version 1.10 introduces content addressability to the way in which image data is stored on disk. This functionality provides better security and helps to ensure data integrity for Docker images and layers. Since the way in which files are stored on disk and are referenced within Docker has changed, any existing Docker images created using a prior version of Docker must be migrated to the new format. This new feature and the migration process are described in more detail at https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration.

Migration of Docker images is performed automatically after the upgrade when the Docker engine is first restarted. The upgrade process requires that all Docker containers are offline during the process and might take a significant period of time to complete. If you cannot afford the downtime required for the migration, you might use the migration utility referenced in the link provided above. However, you should note that Oracle does not package or support this utility.

Docker version 1.9 and later require that you configure the system to use the Unbreakable Enterprise Kernel Release 4 (UEK R4) and boot the system with this kernel.

The Docker package for version 1.8.1 and later is docker-engine, which conflicts with the docker package used by previous versions of Docker.

To upgrade Docker on Oracle Linux 6

  1. Configure the system to use the Unbreakable Enterprise Kernel Release 4 (UEK R4) and boot the system with this kernel:

    1. If your system is registered with ULN, disable access to the ol6_x86_64_UEKR3_latest or ol6_x86_64_UEK_latest channels and enable access to the ol6_x86_64_UEKR4 channel.

      If you use the Oracle Linux yum server, disable the ol6_UEKR3_latest repository and enable the ol6_UEKR4 repository in the repository configuration files in /etc/yum.repos.d/uek-ol6.repo, for example:

      [ol6_UEKR4]
      name=Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux $releasever ($basearch)
      baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/UEKR4/$basearch/
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
      gpgcheck=1
      enabled=1
      
      [ol6_UEKR3_latest]
      name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
      baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/$basearch/
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
      gpgcheck=1
      enabled=0
      
      [ol6_UEK_latest]
      name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
      baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
      gpgcheck=1
      enabled=0 
    2. Run the following command to upgrade the system to UEK R4:

      # yum update
    3. To ensure that UEK R4 is the default boot kernel, edit /boot/grub/grub.conf and change the value of the default directive to index the entry for the UEK R4 kernel. For example, if the UEK R4 kernel is the first entry, set the value of default to 0.

    4. Reboot the system, selecting the UEK R4 kernel (version 4.1.12) if this is not the default boot kernel.

      # reboot
  2. Stop the docker service.

    # service docker stop
  3. If the older docker package is installed, remove it and install the docker-engine package.

    # yum remove docker
    # yum install docker-engine
  4. Start the docker service.

    # service docker start