簡體   English   中英

Docker:如何將 bash 與基於 Alpine 的 docker 映像一起使用?

[英]Docker: How to use bash with an Alpine based docker image?

我從 openjdk:8-jdk-alpine 創建了一個 docker 映像,但是當我嘗試執行簡單命令時,出現以下錯誤:

RUN bash
/bin/sh: bash: not found

RUN ./gradlew build
env: can't execute 'bash': No such file or directory

Alpine docker 鏡像默認沒有安裝 bash。 您將需要添加以下命令來獲取bash

RUN apk update && apk add bash

如果您使用的是Alpine 3.3+ ,那么您可以這樣做:

RUN apk add --no-cache bash

保持泊塢窗圖像尺寸小。 (感謝@sprkysnrky 的評論)

嘗試使用RUN /bin/sh而不是 bash。

RUN /bin/sh -c "apk add --no-cache bash"

為我工作。

要安裝 bash,您可以執行以下操作:

RUN apk add --update bash && rm -rf /var/cache/apk/*

如果您不想為圖像添加額外的大小,可以使用 alpine 附帶的ashsh

參考: https ://github.com/smebberson/docker-alpine/issues/43

如果您可以選擇(例如,如果您只是創建腳本),則使用安裝了 bash 的 alpine 映像(例如alpine-bash)可能會很聰明。

官方的 bash 映像基於 Alpine,因此您無需每次都安裝 bash。 只需使用

docker pull bash

本文於 2016 年 10 月 19 日下午 6:43 首次發布。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM