diu*_*lde 146 bash docker dockerfile alpine-linux
我从openjdk创建了一个docker镜像:8-jdk-alpine但是当我尝试执行简单的命令时,我得到以下错误:
RUN bash
/bin/sh: bash: not found
RUN ./gradlew build
env: can't execute 'bash': No such file or directory
Run Code Online (Sandbox Code Playgroud)
anu*_*ava 247
默认情况下,Alpine docker镜像没有安装bash.您需要添加以下命令才能获得bash:
RUN apk update && apk add bash
Run Code Online (Sandbox Code Playgroud)
如果您正在使用Alpine 3.3+那么您可以这样做
RUN apk add --no-cache bash
Run Code Online (Sandbox Code Playgroud)
保持docker图像尺寸小.(感谢@sprkysnrky的评论)
Yuv*_*uva 139
尝试使用RUN /bin/sh而不是bash.
use*_*546 16
RUN /bin/sh -c "apk add --no-cache bash"
Run Code Online (Sandbox Code Playgroud)
为我工作.
Jam*_*des 14
选项:从 Bash 启动
官方的 bash 镜像基于Alpine,可以避免您每次都需要安装 bash。只需使用
docker pull bash
本文首次发布于 2016 年 10 月 19 日下午 6:43。
选项:使用现有的基础映像
如果您想使用现有的基础映像,同时避免在每个容器启动时安装 bash,那么您可以将其添加到 Dockerfile 中。
# Use openjdk:8-jdk-alpine as the base image
FROM openjdk:8-jdk-alpine
# Install bash package
RUN apk add --no-cache bash
Run Code Online (Sandbox Code Playgroud)
要安装 bash,您可以执行以下操作:
RUN apk add --update bash && rm -rf /var/cache/apk/*
Run Code Online (Sandbox Code Playgroud)
如果您不想为图像添加额外的尺寸,您可以使用alpine 附带的ash或sh。
参考:https : //github.com/smebberson/docker-alpine/issues/43
| 归档时间: |
|
| 查看次数: |
98454 次 |
| 最近记录: |