Проблема с выполнением lsb-release в экземпляре докера Bitbucket Pipelines

У меня есть yaml Bitbucket Pipelines, который выглядит так:

изображение: python: 3.5.1

pipelines:
  branches:
    master:
      - step:
          script:
            - apt-get update
            - apt-get install lsb-release -y
            - curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
            - VERSION=node_5.x
            - DISTRO="$(lsb-release -s -c)"
            - echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list
            - echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list
            - apt-get update
            - apt-get install nodejs -y
            - npm install
            - npm run build
            - python get-pip.py
            - pip install boto3==1.3.0
            - python s3_upload.py io-master.fromthiscomesthat.co.uk dist io-master

Все работает хорошо, кроме DISTRO="$(lsb-release -s -c)" терпит неудачу. Не могу найти lsb-release исполняемый файл, даже если он успешно установлен в сценарии. я пытался find / -name lsb-release но это только приводит к следующему:

+ find / -name lsb-release
/usr/share/doc/lsb-release
/usr/share/bug/lsb-release 

... что не очень полезно.

Где исполняемый файл?

1 ответ

lsb-release это название пакета, lsb_release это имя двоичного файла внутри.

Как я узнал это:

  1. На вашем хосте установлен докер
  2. Извлечь образ докера и запустить контейнер для проверки docker run -it --rm python:3.5.1 /bin/bash
  3. устанавливать lsb-release с apt-get update && apt-get install -y lsb-release
  4. Посмотреть файлы в упаковке dpkg -L lsb-release (файлы в **/bin каталоги исполняемые)
Другие вопросы по тегам