【发布时间】:2018-06-15 00:51:28
【问题描述】:
我想构建我的图像,这是我的 Dockerfile:
FROM ubuntu:16.04
MAINTAINER 'hulei886@aliyun.com'
ENV PHANTOMJS_VERSION 2.1.1
ENV PYTHON_VERSION 3.6.3
# install python3.6.3
RUN apt-get update \
&& apt-get install -y build-essential \
git \
curl \
libssl-dev \
zlib1g-dev \
libncurses5-dev \
libncursesw5-dev \
libreadline-dev \
libsqlite3-dev \
&& apt-get install -y libgdbm-dev \
libdb5.3-dev \
libbz2-dev \
libexpat1-dev \
liblzma-dev \
tk-dev \
&& cd ~ \
&& git clone https://github.com/pyenv/pyenv.git .pyenv \
&& echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc \
&& echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc \
&& echo 'eval "$(pyenv init -)"' >> ~/.bashrc \
&& source ~/.bashrc \
&& curl -L https://raw.githubusercontent.com/yyuu/pyenv- installer/master/bin/pyenv-installer | bash \
&& pyenv install PYTHON_VERSION \
&& pyenv global PYTHON_VERSION \
&& cd .. \
CMD [python]
但是当我运行“docker build . -t [mytag]”时, git clone 命令没有克隆任何东西,这里是截图:
我需要帮助解决这个问题,谢谢!
【问题讨论】:
-
pyenf 文件夹存在吗?为什么在 'pyenf' 之前有一个点?
-
在连接所有呼叫时,很难说出实际失败的原因。在你得到这个工作之前,你能不能把它们分成不同的行,看看哪一行实际失败了
-
source是一个 bash 扩展;你的外壳不是 bash。请参阅the dot command 的 POSIX 规范,这是可移植的等效项。而且由于sh不是 bash,所以这个问题不应该有bash标签; bash 在任何地方都没有涉及。