Please refer to official site for installation details : https://docs.docker.com/install/linux/docker-ee/suse/
Example installation for SUSE Linux SP2 12.2 + Docker 17.06.2
1. Prerequisites
1.2. OS requirements
- Linux version should be or higher than 12.x:
# cat /etc/*release
b. Firewall Configuration Check :
# systemctl list-unit-files | grep firewall
Firewall Disabled: Docker creates a DOCKER iptables chain when it starts.
Firewall Enabled: adjust the start-up script order so that the firewall is started before Docker, and Docker stops before the firewall stops.
1.3. Uninstall old version: Older versions of Docker were called docker or docker-engine. If you use OS images from a cloud provider, you may need to remove the runc package, which conflicts with Docker EE
$ sudo zypper rm docker docker-ee runc
$ sudo rpm -e docker-ee
1.4. Check Filesystem
# cat /proc/filesystems | grep btrfs
btrfs should be listed.
1.5. Configure the Btrfs filesystem
1.5.1. Check file system:
# df -T / /var /var/lib /var/lib/docker
Note: duplicated result if you do not have separate mount point)
#mkdir /var/lib/docker
Note: The only supported storage driver for Docker EE on SLES is Btrfs,
If the filesystem that hosts /var/lib/docker/ is not a BTRFS filesystem, you must configure a BTRFS filesystem and mount it on /var/lib/docker/.
1.5.2. Format your dedicated block device or devices as a Btrfs filesystem.
# df –h
# mkfs.btrfs -f /dev/sda2
1.5.3. Mount the new Btrfs file system on the /var/lib/docker
#mount -t btrfs /dev/sda2 /var/lib/docker
2. Install Docker EE
2.1 Using the repository
STEP 1: SET UP THE REPOSITORY
2.1.1.1: Add a $DOCKER_EE_URL variable into your environment
$ DOCKER_EE_URL="<DOCKER-EE-URL>/sles/12.3/x86_64/stable-17.06"
2.1.1.2. set up the stable repository
$ sudo zypper addrepo $DOCKER_EE_URL docker-ee-stable
2.1.1.3. Import the GPG key from the repository
$ sudo rpm --import "<DOCKER-EE-URL>/sles/gpg"
Notes: please be aware of the value is DOCKER-EE-URL, NOT DOCKER_EE_URL.
STEP 2: INSTALL DOCKER EE
2.1.2.1. Update the zypper package index
$ sudo zypper refresh
2.1.2.2. Install the latest version of docker-ee
$ sudo zypper install docker-ee
$ sudo docker info
2.1.2.2. install a specific version: List binary packages and is truncated:
$ zypper search -s --match-exact -t package docker-ee
Note:omit the -t package flag from the command to also list source packages
$sudo zypper install docker-ee-<VERSION_STRING>
2.1.2.3.Configure Docker EE to use the Btrfs filesystem.
This is only required if the / filesystem is not using BTRFS.
# /etc/docker/daemon.json (create it if it does not exist) and add the following contents:
{ "storage-driver": "btrfs"}
2.1.3. Start Docker:
$ sudo service docker start
$ sudo docker info
2.1.4. Verify that Docker EE
$ 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.
$ systemctl status docker.service
NOW YOU HAVE YOUR DOCKER INSTALLED SUCCESSFULLY !!
2.2. From a Package
2.2.1. Download the .rpm file and install it manually
<url>/sles/12.3/
2.2.2.Import Docker’s official GPG key:
$ sudo rpm --import <DOCKER-EE-URL>/sles/gpg
2.2.3.Install Docker EE
$ sudo zypper install /path/to/package.rpm
Docker EE is installed but not started. The docker group is created, but no users are added to the group.
2.2.4. Edit the file /etc/docker/daemon.json (create it if it does not exist)
{ "storage-driver": "btrfs" }
2.2.5.Start Docker:
$ sudo service docker start
2.2.6.Verify that Docker EE
$ 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.
3. Post-installation steps for Linux
3.1. Configure Docker to start on boot
$ sudo systemctl enable docker (or upstart)
"Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service."
3.2. Add user to docker group
$sudo usermod –a -G docker username
4. Uninstall Docker EE
4.1 Uninstall the Docker EE package
$ sudo zypper rm docker-ee
Delete all images, containers, and volumes on your host:
$ sudo rm –rf /var/lib/docker/*
4.2 Unmount and format the Btrfs filesystem
If you used a separate BTRFS filesystem to host the contents of /var/lib/docker/, you can unmount and format the Btrfs filesystem.
$ sudo unmount /dev/sda2/ /var/lib/docker
4.3 Manually delete any edited configuration files
e.g /etc/docker/daemon.json
5. Reference
- Docker overview:
-
About Docker CE
-
About Docker EE
-
Docker EE for Red Hat Enterprise Linux 7.4
-
Docker Installation in SLES SP2
-
Post-installation steps for Linux
Notes:
For ,
"2.2.2.2 Install the latest version of docker-ee
$ sudo zypper install docker-ee "
You may encounter below issues:
- A:
" Failed to mount cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 on /var/adm/mount/AP_0xxXbHZP: Mounting media failed (mount: no medium found on /dev/sr0)
"
Solution1:
Step 1: Right click on your vm at home page, make sure the two highlighted check boxes and file path is right, then click OK
Step 2: run the command again:
# zypper install docker-ee
Solution 2:
if you are not able to access to host home page , in the terminal, run command below :
$ sudo zypper lr –d
$sudo zypper mr -d -R -p 101 1
Then reinstall docker-ee again:
$sudo zypper install docker-ee
- :
If you encounter below error, please check you networking setting:
Solution: In Modify DNS Configuration, select the way the DNS configuration (name servers, search list, the content of the/etc/resolv.conf file) is modified.
Adding the following lines at the end of the file:
search suse
nameserver 192.168.28.212 (modify accord to your host machine)
nameserver 8.8.8.8