Skip to content

Unsupported distribution 'ol ' #179

Closed as not planned
Closed as not planned

Description

Hello everyone

I'm trying to install docker on my Linux 7.8 with the Docker Installation Scripts provided here, i.e.

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

But the command return the error message:

Executing docker install script, commit:442e66405c304fa92af8aadaa1d9b31bf4b0ad94
ERROR: Unsupported distribution 'ol'

The 'ol' mentioned in the error message is as same as the ID value of my OS.

[root@linux7-8instance ~]# cat /etc/release
Oracle Linux Server release 7.8
NAME="Oracle Linux Server"
VERSION="7.8"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.8"
PRETTY_NAME="Oracle Linux Server 7.8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:8:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.8
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.8
Red Hat Enterprise Linux Server release 7.8 (Maipo)
Oracle Linux Server release 7.8
cpe:/o:oracle:linux:7:8:server
[root@linux7-8instance ~]#

Could you tell me what's wrong here?

Thank you

Activity

  1. AkihiroSuda commented on Jun 26, 2020

    @AkihiroSuda
    Contributor

    Oracle Linux is unsupported on Docker CE, but probably you can use CentOS RPMs: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

  2. maverick85 commented on Jan 7, 2021

    @maverick85

    Why is it unsupported? probably can use centos rpm's as the system is fully compatible, so what is the problem with CE ?

  3. fgbarrios commented on Mar 29, 2021

    @fgbarrios

    Why is it unsupported? probably can use centos rpm's as the system is fully compatible, so what is the problem with CE ?

    Did you solve this? I wanted to update Docker and getting the same error. And I'm running on Oracle too.

  4. maverick85 commented on Apr 5, 2021

    @maverick85

    Did you solve this? I wanted to update Docker and getting the same error. And I'm running on Oracle too.

    Hi man I looked on the web for some guide and installed it. I am not 100% sure if this was the one but I think so:
    https://oracle-base.com/articles/linux/docker-install-docker-on-oracle-linux-ol8

  5. ealtintas commented on May 22, 2021

    @ealtintas

    Oracle Linux is unsupported on Docker CE, but probably you can use CentOS RPMs: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

    I think we may use the "ID_LIKE" field instead of the "ID" to check if the base OS is supported. So I created a pull request for this change: #231

    This pull request is tested on pardus and its working perfectly.

    Script output before the change:

    # Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
    
    ERROR: Unsupported distribution 'pardus'
    

    Some info about Pardus (which is Debian based: https://www.pardus.org.tr/pardus-surum-notlari-19-5)

    root@m1 ~ $ . /etc/os-release && echo "$ID"
    pardus
    
    root@m1 ~ $ cat /etc/os-release
    NAME="Pardus GNU/Linux"
    VERSION="19.5 (Ondokuz)"
    ID=pardus
    ID_LIKE=debian
    PRETTY_NAME="Pardus GNU/Linux Ondokuz"
    VERSION_ID="19.5"
    HOME_URL="https://www.pardus.org.tr/"
    SUPPORT_URL="https://forum.pardus.org.tr/"
    BUG_REPORT_URL="https://talep.pardus.org.tr/"
    VERSION_CODENAME=ondokuz
    PARDUS_CODENAME=ondokuz
    
    root@m1 ~ $ cat /etc/debian_version
    10.8
    

    Script output after the change:

    # Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
    + sh -c apt-get update -qq >/dev/null
    + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl gnupg >/dev/null
    + sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" | apt-key add -qq - >/dev/null
    Warning: apt-key output should not be parsed (stdout is not a terminal)
    + sh -c echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" > /etc/apt/sources.list.d/docker.list
    + sh -c apt-get update -qq >/dev/null
    + [ -n  ]
    + sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
    + [ -n 1 ]
    + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras >/dev/null
    + sh -c docker version
    Client: Docker Engine - Community
     Version:           20.10.6
     API version:       1.41
     Go version:        go1.13.15
     Git commit:        370c289
     Built:             Fri Apr  9 22:46:45 2021
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    
    Server: Docker Engine - Community
     Engine:
      Version:          20.10.6
      API version:      1.41 (minimum version 1.12)
      Go version:       go1.13.15
      Git commit:       8728dd2
      Built:            Fri Apr  9 22:44:56 2021
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.4.4
      GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
     runc:
      Version:          1.0.0-rc93
      GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
    ================================================================================
    
    To run Docker as a non-privileged user, consider setting up the
    Docker daemon in rootless mode for your user:
    
        dockerd-rootless-setuptool.sh install
    
    Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.
    
    
    To run the Docker daemon as a fully privileged service, but granting non-root
    users access, refer to https://docs.docker.com/go/daemon-access/
    
    WARNING: Access to the remote API on a privileged Docker daemon is equivalent
             to root access on the host. Refer to the 'Docker daemon attack surface'
             documentation for details: https://docs.docker.com/go/attack-surface/
    
    ================================================================================
    

    I have installed docker on more than 500 servers running Pardus this way and they are working perfectly for more than 6 months.

    If you think this change is risky than you may consider adding an option (for example --support-base-os) to use the "ID_LIKE" field so the user may take the risk himself.

  6. thaJeztah commented on Jul 20, 2024

    @thaJeztah
    Member

    Yes, we don't provide packages for Oracle Linux; as mentioned above, it's possible that packages for other similar distros work, but we don't want to update the script to automatically "guess" something that "could" work, because no testing/verification is done on those distros, and we try to avoid "pretending" that it's supported / tested. Also see https://docs.docker.com/engine/install/#other-linux-distros

    My general recommendation would be to;

    • Verify if the packages work for your situation / distro (in a testing environment)
    • If they do, and you're comfortable running them on your systems, and if you need to automate setups; create a script based on the steps of this script;
      • you can use --dry-run to see the steps it executes
      • or (as the script largely automates the manual installation steps); base your script on the instructions for the distro you're installing packages for; e.g. https://docs.docker.com/engine/install/centos/

    Maybe (to be discussed) we could consider a manual "I know what I'm doing" option that allows overriding these options (e.g. as suggested in #229, or a --override-distro=xxx flag), but that needs to be discussed.

    I'm closing this ticket for now, but feel free to continue the conversation or to open a ticket with a proposal for alternatives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions