Install Mirantis Container Runtime for Ubuntu¶
Prerequisites¶
Perform all prerequisites as required prior to installing MCR on Ubuntu.
Uninstall old versions¶
Use the apt-get remove command to uninstall Docker Community versions, if present.
sudo apt-get remove docker docker-engine docker-ce docker-ce-cli docker.io
The apt-get command may report that none of the packages are installed.
Note
The contents of /var/lib/docker/
, including images, containers,
volumes, and networks, are preserved.
Extra steps for aufs¶
For Ubuntu 16.04 and higher, the Linux kernel includes support for overlay2, and Mirantis Container Runtime uses it as the default storage driver. If you need to use aufs instead, it must be manually configured.
Install Mirantis Container Runtime¶
Mirantis Container Runtime can be installed either by using Mirantis repositories, or by downloading and installing the DEB package and thereafter manually managing all upgrades. The Mirantis repository method is recommended, for the ease it lends in terms of both installation and upgrade tasks. The more manual DEB package approach, however, is useful in certain situations, such as installing MCR on air-gapped system that have no access to the Internet.
Continue from this point if you are using Mirantis repositories on Ubuntu, or to install from a Debian package go to Install from a Debian package.
Install using the repository¶
To install Mirantis Container Runtime on a new host machine using the Mirantis repository you must first set the repository up on the machine.
Set up the repository¶
Update the
apt
package index.sudo apt-get update
Install packages to allow
apt
to use a repository over HTTPS.sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
Temporarily store
https://repos.mirantis.com
in an environment variable. This variable assignment does not persist when the session ends:DOCKER_EE_URL="https://repos.mirantis.com"
Temporarily add a
$DOCKER_EE_VERSION
variable into your environment.DOCKER_EE_VERSION=23.0
Add Docker’s official GPG key using your customer Mirantis Container Runtime repository URL.
curl -fsSL "${DOCKER_EE_URL}/ubuntu/gpg" | sudo apt-key add -
Verify that you now have the key with the fingerprint
DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96
, by searching for the last eight characters of the fingerprint. Use the command as-is. It works because of the variable you set earlier.sudo apt-key fingerprint 6D085F96 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = DD91 1E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96 uid Docker Release (EE deb) <docker@docker.com> sub 4096R/6D085F96 2017-02-22
Set up the stable repository, using the following command as-is (which works due to the variable set up earlier in the process).
sudo add-apt-repository \ "deb [arch=$(dpkg --print-architecture)] $DOCKER_EE_URL/ubuntu \ $(lsb_release -cs) \ stable-$DOCKER_EE_VERSION"
Note
The included lsb_release -cs sub command returns the name of your Ubuntu distribution, for example,
focal
.
Install Mirantis Container Runtime¶
Update the
apt
package index.sudo apt-get update
Install the latest version of Mirantis Container Runtime and containerd, or go to the next step to install a specific version. Any existing installation of MCR is replaced.
sudo apt-get install docker-ee docker-ee-cli docker-ee-rootless-extras containerd.io
Warning
If you have multiple Mirantis repositories enabled, installing or updating without specifying a version in the
apt-get install
or apt-get update command always installs the highest possible version, which may not be appropriate for your stability needs.On production systems, you should install a specific version of Mirantis Container Runtime instead of always using the latest. The following output is truncated.
apt-cache madison docker-ee docker-ee | *:23.0~ee-0~ubuntu-focal | https://repos.mirantis.com/ubuntu focal/stable amd64 Packages
The contents of the list depend upon which repositories are enabled, and are specific to your version of Ubuntu (indicated by the
focal
suffix on the version, in this example). Choose a specific version to install. The second column is the version string. The third column is the repository name, which indicates which repository the package is from and by extension its stability level. To install a specific version, append the version string to the package name and separate them by an equals sign (=
).sudo apt-get install docker-ee=<VERSION_STRING> \ docker-ee-cli=<VERSION_STRING> \ docker-ee-rootless-extras=<VERSION_STRING> containerd.io
Note
MCR nodes in rootless mode cannot currently be a member of an MKE cluster.
The MCR daemon starts automatically.
Verify that MCR is installed correctly by running the
hello-world
image.sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.
Mirantis Container Runtime is installed and running. The docker
group is created but no users are added to it. You need to use sudo
to run MCR commands.
Upgrade Mirantis Container Runtime¶
If upgrading to a new major Mirantis Container Runtime version (such as when going from version 20.10 to 23.0), add the new repository.
Run
sudo apt-get update
.Follow the installation instructions, choosing the new version you want to install.
Install from a Debian package¶
If you cannot use the Mirantis repository to install Mirantis Container
Runtime, you can download the .deb
files for your release and install them
manually. You need to download a new file or set of files each time you want to
upgrade Mirantis Container Runtime.
Go to repos.mirantis.com in your browser.
Go to
/ubuntu/dists/bionic/pool/stable-<VERSION>/amd64/
and download the.deb
file for the Ubuntu release and architecture you want to install.Note
Starting with 19.03, you have to download three
.deb
files. They aredocker-ee-cli_<version>.deb
,containerd.io_<version>.deb
, anddocker-ee_<version>.deb
.Install MCR, changing the path below to the path where you downloaded the Mirantis Container Runtime package.
sudo dpkg -i <path_to_downloaded_ubuntu_package_.deb>
Or, if you downloaded the three
.deb
files, you must install them in the following order:sudo dpkg -i /path/to/docker-ee-cli_<version>.deb sudo dpkg -i /path/to/containerd.io_<version>.deb sudo dpkg -i /path/to/docker-ee_<version>.deb
The MCR daemon starts automatically.
Verify that MCR is installed correctly by running the
hello-world
image.sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.
Mirantis Container Runtime is installed and running. The docker
group is
created but no users are added to it. You need to use sudo
to run MCR
commands.
Upgrade Mirantis Container Runtime¶
To upgrade Mirantis Container Runtime, download the newer package file and repeat the installation procedure, pointing to the new file.
Enable MCR Telemetry¶
By default, MCR automatically records and transmits data to Mirantis for monitoring and analysis purposes. The data collected provides the Mirantis Customer Success Organization with information that helps us to better understand the operational use of MCR by our customers. It also provides key feedback in the form of product usage statistics, which enable our product teams to enhance Mirantis products and services.
To disable the telemetry function, set
features.telemetry
to false
in your /etc/docker/daemon.json
file.
Change the setting to true
to re-enable telemetry.
{"features":{"telemetry": false}}
Caution
To send the telemetry, verify that dockerd can resolve api.segment.io
and create a TCP (HTTPS) connection on port 443.
Run MCR as a non-root user (Rootless mode)¶
Note
MCR nodes in rootless mode cannot belong to a MKE cluster.
For information on rootless mode installation and configuration, refer to the Docker documentation Run the Docker daemon as a non-root user (Rootless mode).
Uninstall Mirantis Container Runtime¶
Uninstall the Mirantis Container Runtime package.
sudo apt-get purge docker-ee docker-ee-cli containerd.io
Images, containers, volumes, or customized configuration files on your host are not automatically removed. Run the following command to delete all images, containers, and volumes.
sudo rm -rf /var/lib/docker
You must delete any edited configuration files manually.