Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1328219 - [extras-rhel-7.2.4] include docker-common subpackage in 'docker' to handle /usr/bin/docker for docker and docker-latest
[extras-rhel-7.2.4] include docker-common subpackage in 'docker' to handle /u...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: docker (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity low
: rc
: ---
Assigned To: Lokesh Mandvekar
atomic-bugs@redhat.com
: Extras
Depends On:
Blocks: 1330366
  Show dependency treegraph
 
Reported: 2016-04-18 14:33 EDT by Ed Santiago
Modified: 2016-05-12 11:17 EDT (History)
9 users (show)

See Also:
Fixed In Version: docker-1.9.1-33.el7
Doc Type: Enhancement
Doc Text:
Feature: /usr/bin/docker script calls /usr/bin/docker-current or /usr/bin/docker-latest based on the value of the sysconfig variable DOCKERBINARY present in /etc/sysconfig/docker Reason: Users of docker or docker-latest only want to use the 'docker' command without needing to constantly check which version of docker daemon is actually being run. Result: /usr/bin/docker and /etc/sysconfig/docker provided by the docker-common package allow the admin to configure which docker client binary gets called. /usr/bin/docker will call /usr/bin/docker-latest by default when 'docker' is not installed. If 'docker' is installed, /usr/bin/docker will call /usr/bin/docker-current by default, unless DOCKERBINARY is set to /usr/bin/docker-latest in /etc/sysconfig/docker
Story Points: ---
Clone Of:
: 1330366 (view as bug list)
Environment:
Last Closed: 2016-05-12 11:17:43 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:1034 normal SHIPPED_LIVE Moderate: docker security, bug fix, and enhancement update 2016-05-12 15:15:01 EDT

  None (edit)
Description Ed Santiago 2016-04-18 14:33:44 EDT
[ This is probably not fixable, but it should be prominently documented ]

Regardless of which docker daemon is running (docker or docker-latest), running 'docker foo' runs the old (currently 1.9) client. I've found this to be persistently counterintuitive when my fingers type docker commands or when existing scripts run docker instead of docker-latest.

Obvious workaround, for those with no need ever to run older docker, is:

    mv /usr/bin/docker{,.OLD} && ln /usr/bin/docker{-latest,}

For shell sessions, an alias may be sufficient.

Fantasy dream solution is to use the /etc/alternatives framework but that would require changes to docker-1.9 packaging.
Comment 2 Alex Jia 2016-04-19 00:15:17 EDT
(In reply to Ed Santiago from comment #0)
> [ This is probably not fixable, but it should be prominently documented ]
> 
> Regardless of which docker daemon is running (docker or docker-latest),
> running 'docker foo' runs the old (currently 1.9) client. I've found this to

Ed, I thinks you should use docker-latest to run commands instead of using docker if the current docker-latest daemon is running.
Comment 11 Daniel Walsh 2016-04-25 15:08:52 EDT
You would need to install docker executable as /usr/bin/docker-current and /usr/bin/docker-latest, then have /etc/sysconfig/docker tell /usr/bin/docker which executable to run.

Note we should be careful, since in the future (docker-1.12, docker is splitting the client and server to docker and dockerd.)


Note we have not done this for 7.2.4 so I am not sure we can get this released in time.
Comment 15 Daniel Walsh 2016-04-26 09:44:55 EDT
Well we can do this ONLY if there is not changes in the unit file between docker-1.10 and docker-1.9?
Comment 16 Lokesh Mandvekar 2016-04-26 10:16:06 EDT
I guess I forgot to change the path in docker unit file to /usr/bin/docker-current. Let me update that.

The way I see it is the person managing the daemon needs to explicitly choose which daemon they want to run:
$ systemctl [re]start docker
OR
$ systemctl [re]start docker-latest

Then they can uncomment the line that says DOCKERBINARY=/usr/bin/docker-latest if they want to use v1.10.3 or they can keep it as-is which will default to using /usr/bin/docker-current which is v1.9.1 right now.

This makes life easier for the user who doesn't wanna figure out which daemon is running. The person maintaining the service still needs to keep in mind the two different dockers.

wdyt?
Comment 18 Luwen Su 2016-05-02 05:09:03 EDT
This could be verified in docker-1.9.1-38.el7.x86_64,
docker-common-1.9.1-38.el7.x86_64 works.
Comment 20 errata-xmlrpc 2016-05-12 11:17:43 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-1034.html

Note You need to log in before you can comment on or make changes to this bug.