0

My goal is to install Docker 18.09 on SUSE Linux Enterprise Server 12 (SLES 12 SP3).

I can successfully download and install docker version 17.09.1_ce-98.18.1 using zypper from repositories available to me. My goal is to install Docker version 18 and see if using that version bypasses an intermittent bug I see sometimes.

I have downloaded the CentOS RPM for Docker 18.09 since I don't see SLES12 as a supported binary. Other RPMs have installed in the past. The prerequisite packages (containerd.io and docker-ce-cli) install as RPMs without error.

Why does docker-ce-3:18.09 installation on SLES 12 throw "systemd-units needed" message?

I do not understand what the systemd-units error is here. The systemd package is already installed.

I believe zypper is complaining that systemd does not have any startup or unit files in the docker-ce RPM. Is there an argument I should pass to zypper to unpack the systemd unit file in the correct place for SLES12?

The RPM contains /usr/lib/systemd/system/docker.service which I assume is the systemd-units file zypper is complaining about.

node01:~ # rpm -qa | grep -i system
systemd-228-150.40.1.x86_64
grub2-systemd-sleep-plugin-2.02-4.19.1.noarch
libboost_system1_54_0-1.54.0-26.3.1.x86_64
util-linux-systemd-2.29.2-3.5.4.x86_64
systemd-presets-branding-SLE-12.2-2.26.noarch
systemd-bash-completion-228-150.40.1.noarch
systemd-sysvinit-228-150.40.1.x86_64
libsystemd0-228-150.40.1.x86_64
filesystem-13.1-14.15.x86_64
node01:~ # zypper install   /tmp/docker-ce-18.09.0-3.el7.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides systemd-units needed by docker-ce-3:18.09.0-3.el7.x86_64
Solution 1: do not install docker-ce-3:18.09.0-3.el7.x86_64
Solution 2: break docker-ce-3:18.09.0-3.el7.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): c
node01:~ # zypper search systemd-units
Loading repository data...
Reading installed packages...
No matching items found.
node01:~ # uname -a
Linux node01 4.4.132-94.33-default #1 SMP Tue May 29 20:09:56 UTC 2018 (76aae3b) x86_64 x86_64 x86_64 GNU/Linux
node01:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 12 SP3  (x86_64) - Kernel \r (\l).
node01:~ #

  • SLES RPM packages are built differently then CentOS RPM packages, there are extensive systemd macros in SUSE so that zypper can manage systemd unit files. Have you followed the SLES instructions for installing Docker? The instructions say you can run sudo zypper install docker to install Docker after enabling the SLES container module. If you require the newest version of Docker, it appears that Docker Enterprise supports SLES – GracefulRestart Nov 20 '18 at 19:41
  • @GracefulRestart Thanks. Docker Enterprise is not an option for me at present. I had not seen those instructions. I will read and update my question. – StandardEyre Nov 20 '18 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.