Я хочу установить на докере спарк с изображением Continumumio / Anaconda3.
Dockerfile
FROM continuumio/anaconda3
RUN apt update && apt install -y openssh-server curl vim
RUN mkdir /var/run/sshd
RUN curl -O http://ftp.tsukuba.wide.ad.jp/software/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz &&\
tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz &&\
mv spark-2.4.3-bin-hadoop2.7 /usr/local &&\
ln -s /usr/local/spark-2.4.3-bin-hadoop2.7 /usr/local/spark
ENV PATH "/usr/local/spark/bin:${PATH}"
RUN sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config &&\
echo "root:mypasswd" | chpasswd && \
CMD ["/usr/sbin/sshd", "-D"]
Я строю из dockerfille, отлично работает spark и sshd.Но путь из этой команды не сработал.
ENV PATH "/usr/local/spark/bin:${PATH}"
#spark-shell
-bash: spark-shell: command not found
И эта команда с полным путем работает нормально.
#/usr/local/spark/bin/spark-shell
Я попытался добавить строку в / etc / profileили /etc/profile.d/xxx.sh, но я получил такой же плохой результат.
RUN echo "export PATH=${PATH}:/user/local/spark/bin" >> the files
Эта проблема вызвана доступом по ssh. Из-за этой команды отлично работает с env.
docker run -it imagename bash
Что мне делать?