12 KiB
{% assign section = include.section %}
{% comment %}
Include a chunk of this file, using variables already set in the file where you want to reuse the chunk.
Usage: {% include ee-linux-install-reuse.md section="ee-install-intro" %}
{% endcomment %}
{% if section == "ee-install-intro" %}
There are two ways to install and upgrade Docker Enterprise Edition (Docker EE){: target="blank" class="" } on {{ linux-dist-long }}:
-
YUM repository: Set up a Docker repository and install Docker EE from it. This is the recommended approach because installation and upgrades are managed with YUM and easier to do.
-
RPM package: Download the {{ package-format }} package, install it manually, and manage upgrades manually. This is useful when installing Docker EE on air-gapped systems with no access to the internet.
{% if linux-dist == "rhel" or linux-dist == "oraclelinux" %} Docker Community Edition (Docker CE) is not supported on {{ linux-dist-long }}. {% endif %} {% if linux-dist == "centos" %} For Docker Community Edition on {{ linux-dist-cap }}, see Get Docker CE for CentOS. {% endif %}
{% elsif section == "find-ee-repo-url" %}
To install Docker EE, you will need the URL of the Docker EE repository associated with your trial or subscription:
- Go to https://hub.docker.com/my-content{: target="blank" class="" }. All of your subscriptions and trials are listed.
- Click the Setup button for Docker Enterprise Edition for {{ linux-dist-long }}.
- Copy the URL from Copy and paste this URL to download your Edition and save it for later use.
You will use this URL in a later step to create a variable called, DOCKERURL
.
{% elsif section == "using-yum-repo" %}
The advantage of using a repository from which to install Docker EE (or any software) is that it provides a certain level of automation. RPM-based distributions such as {{ linux-dist-long }}, use a tool called YUM that work with your repositories to manage dependencies and provide automatic updates.
{% elsif section == "set-up-yum-repo" %} You only need to set up the repository once, after which you can install Docker EE from the repo and repeatedly upgrade as necessary.
-
Remove existing Docker repositories from
/etc/yum.repos.d/
:$ sudo rm /etc/yum.repos.d/docker*.repo
-
Temporarily store the URL (that you copied above) in an environment variable. Replace
<DOCKER-EE-URL>
with your URL in the following command. This variable assignment does not persist when the session ends:$ export DOCKERURL="<DOCKER-EE-URL>"
-
Store the value of the variable,
DOCKERURL
(from the previous step), in ayum
variable in/etc/yum/vars/
:$ sudo -E sh -c 'echo "$DOCKERURL/{{ linux-dist-url-slug }}" > /etc/yum/vars/dockerurl'
{% if linux-dist == "rhel" %} Also, store your OS version string in
/etc/yum/vars/dockerosversion
. Most users should use7
, but you can also use the more specific minor version, starting from7.2
.$ sudo sh -c 'echo "7" > /etc/yum/vars/dockerosversion'
{% endif %}
-
Install required packages:
yum-utils
provides the yum-config-manager utility, anddevice-mapper-persistent-data
andlvm2
are required by the devicemapper storage driver:$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
{% if linux-dist == "rhel" %}
5. Enable the extras
RHEL repository. This ensures access to the container-selinux
package required by docker-ee
.
The repository can differ per your architecture and cloud provider, so review the options in this step before running:
**For all architectures _except_ IBM Power:**
```bash
$ sudo yum-config-manager --enable rhel-7-server-extras-rpms
```
**For IBM Power only (little endian):**
```bash
$ sudo yum-config-manager --enable extras
$ sudo subscription-manager repos --enable=rhel-7-for-power-le-extras-rpms
$ sudo yum makecache fast
$ sudo yum -y install container-selinux
```
Depending on cloud provider, you may also need to enable another repository:
**For AWS** (where `REGION` is a literal, and does _not_ represent the region your machine is running in):
```bash
$ sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
```
**For Azure:**
```bash
$ sudo yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms
```
{% endif %}
{% if linux-dist == "oraclelinux" %}
-
Enable the
ol7_addons
Oracle repository. This ensures access to thecontainer-selinux
package required bydocker-ee
.$ sudo yum-config-manager --enable ol7_addons
{% endif %}
-
Add the Docker EE stable repository:
$ sudo -E yum-config-manager \ --add-repo \ "$DOCKERURL/{{ linux-dist-url-slug }}/docker-ee.repo"
{% elsif section == "install-using-yum-repo" %}
Note: If you need to run Docker EE 2.0, please see the following instructions:
-
Install the latest patch release, or go to the next step to install a specific version:
$ sudo yum -y install docker-ee docker-ee-cli containerd.io
If prompted to accept the GPG key, verify that the fingerprint matches
{{ gpg-fingerprint }}
, and if so, accept it. -
To install a specific version of Docker EE (recommended in production), list versions and install:
a. List and sort the versions available in your repo. This example sorts results by version number, highest to lowest, and is truncated:
$ sudo yum list docker-ee --showduplicates | sort -r docker-ee.x86_64 {{ site.docker_ee_version }}.ee.2-1.el7.{{ linux-dist }} docker-ee-stable-18.09
The list returned depends on which repositories you enabled, and is specific to your version of {{ linux-dist-long }} (indicated by
.el7
in this example).b. Install a specific version by its fully qualified package name, which is the package name (
docker-ee
) plus the version string (2nd column) starting at the first colon (:
), up to the first hyphen, separated by a hyphen (-
). For example,docker-ee-18.09.1
.$ sudo yum -y install docker-ee-<VERSION_STRING> docker-ee-cli-<VERSION_STRING> containerd.io
For example, if you want to install the 18.09 version run the following:
sudo yum-config-manager --enable docker-ee-stable-18.09
Docker is installed but not started. The
docker
group is created, but no users are added to the group. -
Start Docker:
If using
devicemapper
, ensure it is properly configured before starting Docker, per the storage guide{: target="blank" class="" }.$ sudo systemctl start docker
-
Verify that Docker EE is installed correctly by running the
hello-world
image. This command downloads a test image, runs it in a container, prints an informational message, and exits:$ sudo docker run hello-world
Docker EE is installed and running. Use
sudo
to run Docker commands. See Linux postinstall{: target="blank" class="" } to allow non-privileged users to run Docker commands.
{% elsif section == "upgrade-using-yum-repo" %}
-
Follow the installation instructions and install a new version.
{% elsif section == "package-installation" %}
To manually install Docker EE, download the .{{ package-format | downcase }}
file for your release. You need to download a new file each time you want to upgrade Docker EE.
{% elsif section == "install-using-yum-package" %}
{% if linux-dist == "rhel" %}
-
Enable the
extras
RHEL repository. This ensures access to thecontainer-selinux
package which is required bydocker-ee
:$ sudo yum-config-manager --enable rhel-7-server-extras-rpms
Alternately, obtain that package manually from Red Hat. There is no way to publicly browse this repository. {% endif %}
{% if linux-dist == "centos" %}
- Go to the Docker EE repository URL associated with your trial or subscription
in your browser. Go to
{{ linux-dist-url-slug }}/7/x86_64/stable-<VERSION>/Packages
and download the.{{ package-format | downcase }}
file for the Docker version you want to install. {% endif %}
{% if linux-dist == "rhel" or linux-dist == "oraclelinux" %}
- Go to the Docker EE repository URL associated with your
trial or subscription in your browser. Go to
{{ linux-dist-url-slug }}/
. Choose your {{ linux-dist-long }} version, architecture, and Docker version. Download the.{{ package-format | downcase }}
file from thePackages
directory.
{% if linux-dist == "rhel" %}
> If you have trouble with selinux
using the packages under the 7
directory,
> try choosing the version-specific directory instead, such as 7.3
.
{% endif %}
{% endif %}
-
Install Docker EE, changing the path below to the path where you downloaded the Docker package.
$ sudo yum install /path/to/package.rpm
Docker is installed but not started. The
docker
group is created, but no users are added to the group. -
Start Docker:
If using
devicemapper
, ensure it is properly configured before starting Docker, per the storage guide{: target="blank" class="" }.$ sudo systemctl start docker
-
Verify that Docker EE is installed correctly by running the
hello-world
image. This command downloads a test image, runs it in a container, prints an informational message, and exits:$ sudo docker run hello-world
Docker EE is installed and running. Use
sudo
to run Docker commands. See Linux postinstall{: target="blank" class="" } to allow non-privileged users to run Docker commands.
{% elsif section == "upgrade-using-yum-package" %}
-
Download the newer package file.
-
Repeat the installation procedure, using
yum -y upgrade
instead ofyum -y install
, and point to the new file.
{% elsif section == "yum-uninstall" %}
-
Uninstall the Docker EE package:
$ sudo yum -y remove docker-ee
-
Delete all images, containers, and volumes (because these are not automatically removed from your host):
$ sudo rm -rf /var/lib/docker
-
Delete other Docker related resources:
$ sudo rm -rf /run/docker $ sudo rm -rf /var/run/docker $ sudo rm -rf /etc/docker
-
If desired, remove the
devicemapper
thin pool and reformat the block devices that were part of it.
You must delete any edited configuration files manually.
{% elsif section == "linux-install-nextsteps" %}
-
Continue to Post-installation steps for Linux{: target="blank" class="" }
-
Continue with user guides on Universal Control Plane (UCP){: target="blank" class="" } and Docker Trusted Registry (DTR){: target="blank" class="" }
{% endif %}