0
我使用腳本來構建dockerfile。下面是我的腳本...無法在docker映像中使用sdkman安裝groovy
echo "FROM ubuntu:14.04" >> Dockerfile
echo "RUN rm /bin/sh && ln -s /bin/bash /bin/sh" >> Dockerfile
echo "RUN apt-get -y update && apt-get upgrade -y" >> Dockerfile
echo "RUN apt-get install -y software-properties-common" >> Dockerfile
echo "RUN apt-get -y update && add-apt-repository -y ppa:webupd8team/java" >> Dockerfile
echo "RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections" >> Dockerfile
echo "RUN echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections" >> Dockerfile
echo "RUN apt-get -y update && apt-get install -y oracle-java8-installer" >> Dockerfile
echo "RUN apt-get install -y curl " >> Dockerfile
echo "RUN apt-get install -y unzip " >> Dockerfile
echo "RUN apt-get -y update && curl -s get.sdkman.io | bash" >> Dockerfile
echo 'RUN source "$HOME/.sdkman/bin/sdkman-init.sh"' >> Dockerfile
echo 'RUN source ~/.profile' >> Dockerfile
echo "RUN yes | sdk install groovy" >> Dockerfile
...
docker build -t imagename:version ./
...
,但我得到下面的錯誤
RUN yes | sdk install groovy
---> Running in 09056add5ab7
/bin/sh: sdk: command not found
The command '/bin/sh -c yes | sdk install groovy' returned a non-zero code: 127
,如果我不使用此命令 「SDK安裝常規」 的構建是sucessfull。然後我運行圖像併發出相同的命令,它的工作原理。
任何幫助,任何想法,爲什麼這是頭痛?
你是什麼意思:併發出相同的命令,它的工作原理。 – lvthillo
你可以在ubuntu 14.04上以更簡單的方式安裝groovy:更新後添加dockerfile:'apt-get -y install groovy'。之後,我可以進入我的容器並檢查root @ 4ab59267d4f6:/#groovy -version Groovy版本:1.8.6 JVM:1.7.0_121供應商:Oracle Corporation OS:Linux'。這不是一個真正的答案,因爲你想使用sdkman,但它可能會有所幫助。 – lvthillo
@ lorenzvth7這很好,如果你想groovy 1.8.6這是幾年 –