首页 > 解决方案 > 从 bash 安装基础 docker 映像

问题描述

我的dockerfile如下:

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

先决条件_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 

当我做 docker build “docker build --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

对于RaspberryPI 或其他平台, prerequisites_ubuntu.sh文件将发生变化

标签: bashdockerdockerfile

解决方案


先决条件_ubuntu.sh 文件有几个问题。首先,它不是一个 sh 文件。您缺少一个 shebang(它指定使用哪个 shell 来执行脚本)。FROM 语句是 Dockerfile 规范的一部分,而不是 shell 脚本的一部分(这就是你得到 FROM: not found 的原因)作为错误。并且 bash 映像基于 alpine linux,它不使用apt-get但使用apk add. 将 shell 脚本更改为 useapk add后,添加一个 shebang,然后删除FROM它应该起作用的语句。


推荐阅读