Docker fedora hbase JAVA_HOME问题

我的dockerfile上的Fedora 22

FROM java:latest ENV HBASE_VERSION=1.1.0.1 RUN groupadd -r hbase && useradd -m -r -g hbase hbase USER hbase ENV HOME=/home/hbase # Download'n extract hbase RUN cd /home/hbase && \ wget -O - -q \ http://apache.mesi.com.ar/hbase/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz \ | tar --strip-components=1 -zxf - # Upload local configuration ADD ./conf/ /home/hbase/conf/ USER root RUN chown -R hbase:hbase /home/hbase/conf USER hbase # Prepare data volumes RUN mkdir /home/hbase/data RUN mkdir /home/hbase/logs VOLUME /home/hbase/data VOLUME /home/hbase/logs # zookeeper EXPOSE 2181 # HBase Master API port EXPOSE 60000 # HBase Master Web UI EXPOSE 60010 # Regionserver API port EXPOSE 60020 # HBase Regionserver web UI EXPOSE 60030 WORKDIR /home/hbase CMD /home/hbase/bin/hbase master start 

据我所知,当我设置“从Java:最新”我当前的dockerfile覆盖在那一个,所以JAVA_HOME必须设置为它是在java:最新? 我对吗? 这个Dockerfile是build立,但是当我“docker运行”的形象,它显示“JAVA_HOME找不到”的错误。 我怎样才能正确地设置它?

使用ENV指令,像ENV JAVA_HOME /abc/def doc https://docs.docker.com/reference/builder/#env

添加到~./bashrc (或用于全局/etc/bashrc

 export JAVA_HOME=/usr/java/default export PATH=$JAVA_HOME/bin:$PATH