0
私はドッカーファイルを作成するためにスクリプトを使用します。以下の私のスクリプト...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 ./
...
はあるが、私は、このコマンドのビルドはsucessfullある "SDKはグルーヴィーインストール" を使用していけない場合、私は以下のエラーに
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
を取得します。私はイメージを実行し、同じコマンドを発行し、それは動作します。
これは何故なのですか?
あなたはどういう意味ですか?同じコマンドを発行しても動作します。 – lvthillo
groovyをより簡単にubuntu 14.04にインストールすることができます。アップデート後にドッカーファイルを追加するだけです: '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が欲しいなら、それはうまくいくよ。 –