CMD a b c
と指定した場合、同じコマンドをCMD ["a", "b", "c"]
と指定してもすべて正常に動作します。 私はドッカー内でJupyter(ipython)を実行しようとしています。私のCMD
コマンドはそれを開始することです。私が指定した方法にかかわらず、Jupyterが始まります。しかし、私がCMD a b c
と指定した場合にのみ、実際に正しく動作し、カーネルを起動することができます。コマンドは「新しいノート」コマンドがDocker `CMD a b c` VS` CMD ["a"、 "b"、 "c"] `
FROM debian:stable
RUN apt-get update && apt-get install -y wget bzip2
RUN wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh && \
bash Miniconda2-latest-Linux-x86_64.sh -b -p /anaconda2
RUN /anaconda2/bin/conda install jupyter
CMD ["/anaconda2/bin/jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--NotebookApp.token=''"]
#CMD /anaconda2/bin/jupyter notebook --port=8888 --no-browser --ip=0.0.0.0 --NotebookApp.token=''
# docker build -t IMAGE_NAME .
# docker run --rm -it -p 8888:8888 IMAGE_NAME
を動作しません。この場合
FROM debian:stable
RUN apt-get update && apt-get install -y wget bzip2
RUN wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh && \
bash Miniconda2-latest-Linux-x86_64.sh -b -p /anaconda2
RUN /anaconda2/bin/conda install jupyter
#CMD ["/anaconda2/bin/jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--NotebookApp.token=''"]
CMD /anaconda2/bin/jupyter notebook --port=8888 --no-browser --ip=0.0.0.0 --NotebookApp.token=''
# docker build -t IMAGE_NAME .
# docker run --rm -it -p 8888:8888 IMAGE_NAME
に動作します私は本当にこれで困惑しています。この場合、「新規ノート」で は、どのような可能性を考えることはできません違いがあります! shell form(CMD a b c
)
tbh、私はそのような疑いがありました。私は 'CMD [" bash "、" a "、" b "、" c "]'を試したこともありますが、明らかに 'CMD [bash"、 "abc"] ' – avloss
@ avloss' CMD ["bash"、 "-c"、 "abc"] ' – Matt
ありがとう!まあ、実際には '' CMD ["bash"、 "-c"、 "a b c"] 'は動作しませんでした!しかし、 'CMD [" sh "、" -c "、" a b c "]'はやった!だから、 'ジュピター'はいくつかの 'env'ヴァルスに依存しており、' bash'には存在しません。 – avloss