Установить базовый образ докера из bash - PullRequest
0 голосов
/ 21 июня 2019

Мой докер-файл выглядит так:

FROM bash:4.4
COPY prerequisites_ubuntu.sh   /temp/prerequisites_ubuntu.sh 
RUN  /temp/prerequisites_ubuntu.sh 

prerequisites_ubuntu.sh:

FROM ubuntu:latest

apt-get update  
apt-get install -y    coreutils  git-core ssh scons build-essential g++ libglib2.0-dev unzip uuid-dev python-dev autotools-dev gcc libjansson-dev cmake 

Когда я делаю сборку докера, "сборка докера --rm --no-cache -t my_image." Выдает ошибку как

/temp/prerequisites_ubuntu.sh: line 1: FROM: not found
/temp/prerequisites_ubuntu.sh: line 3: apt-get: not found
/temp/prerequisites_ubuntu.sh: line 4: apt-get: not found

Файл prerequisites_ubuntu.sh изменится для RaspberryPI или другой платформы

1 Ответ

1 голос
/ 21 июня 2019

Существует несколько проблем с файлом prerequisites_ubuntu.sh. Прежде всего, это не файл sh. Вам не хватает shebang (который указывает, какую оболочку использовать для выполнения скрипта). оператор FROM является частью спецификации Dockerfile, а не сценариев оболочки (именно поэтому вы получаете FROM: not found) как ошибку. И образ bash основан на альпийском Linux, который не использует apt-get, но использует apk add. Как только вы измените сценарий оболочки на использование apk add, добавьте shebang и удалите оператор FROM, он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...