Can't uninstall Docker-Machine

A while ago, I installed docker using the official documentation (recently updated, so I can’t find again the instructions). The documentation for SUSE said to use the Reository https://yum.dockerproject.org/repo/main/opensuse/13.2/ for later installing using

zypper in docker-engine

Until there, everything good, docker worked, but now I can’t uninstall docker-machine. When I’m trying to do so (zypper rm docker-engine) what I get is:


The following 2 packages are going to be REMOVED:
  docker-engine docker-engine

2 packages to remove.
After the operation, 168.8 MiB will be freed.
Continue? [y/n/? shows all options] (y): y
(1/2) Removing docker-engine-1.13.1-1.x86_64 .........................................................................................................[error]
Removal of (178)docker-engine-1.13.1-1.x86_64(@System) failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.3ccYSw: line 1: fg: no job control
error: %preun(docker-engine-1.13.1-1.x86_64) scriptlet failed, exit status 1
error: docker-engine-1.13.1-1.x86_64: erase failed


Abort, retry, ignore? [a/r/i] (a):

Which is weird, looks like I have two docker-engine packages installed, and I can’t uninstall either of them. Any ideas what could be wrong?

The Docker Machine module is a uniquely SLES component,
It does not exist in openSUSE.

FYI - You can undo the steps described for installing the Docker Machine module described in my “Alternative” guide to installing Docker into SLES and openSUSE
https://github.com/putztzu/docker/blob/master/docs/installation/linux/SUSE.md

And,
You should post any questions you have about SLES in the SUSE forums, not here in the openSUSE forums.

TSU

I did install it in OpenSuse (Tumbleweed), not SLES. The instructions at that time were for OpenSUSE and the issue I had is with OpenSUSE. That’s why I’m asking here.

Additionally, I think the issue I’m having is not Docker-specific, but more on how Zypper is trying to remove the package, given these lines:


Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.3ccYSw: line 1: fg: no job control
error: %preun(docker-engine-1.13.1-1.x86_64) scriptlet failed, exit status 1
error: docker-engine-1.13.1-1.x86_64: erase failed

Thanks anyway, I’ll try your suggestion.

Maybe a .lock file on that program??

Finally found the solution, from this thread: https://forums.opensuse.org/showthread.php/430287-zypper-remove-Error-Subprocess-failed-Error-RPM-failed

Basically the preuninstall script was failing. Say what the script was doing by running


rpm -q --scripts docker-engine

And was able to remove the packages with


sudo rpm -e --noscripts docker-engine

I’ll try now TSU’s guide to install docker.

A comment about Docker Machine (at least the SUSE/openSUSE package),

As I described earlier, it’s not something anyone would need to deploy Docker on openSUSE (and maybe even SLES).

That said, I see that a package exists in software.opensuse.org and in the Virtualization:containers special repository.
Inspecting the package contents, it has a list of components that is suspiciously identical to the Kinematic “Docker Machine” that runs on Windows.
Originally, Docker Machine was created so that Windows users with little technical know-how could install Docker (which originally was a Linux-only technology built on Linux kernel containers(but now is a quasi-hyper-v deployment, too but I digress)) on Windows machines… A “one click” install that automatically installed VBox and a Linux guest with Docker, fully configured with SSH access. To the Windows user with not a lick of understanding about Linux, this was/is magic.

Although we openSUSE users have a better understanding of Linux, still openSUSE might be deployed on different types of platforms… on bare metal, as a virtualization guest (and there are many virtualization technologies) and various cloud providers.

From what I can see, it’s likely <that> is what Docker Machine might be useful for the openSUSE user… If you wish to deploy Docker on openSUSE on something that’s not bare metal, and you don’t know that much about the virtualization technology or the cloud platform. If you’re expert on the platform (eg know VBox well), then you can choose between using Docker Machine to deploy or just do it manually (which isn’t that difficult, particularly with YAST to set up SSH).

TSU