获得"无法播放"使用dockerfile构建时出错

时间:2014-06-24 17:15:28

标签: node.js ubuntu docker

这是完整的dockerfile

FROM ubuntu:12.04

# Create directory 
RUN mkdir -p /dir/subdir

# Download wget
RUN apt-get install -y wget

# Make sure package is up to date
RUN apt-get update

# Install nodejs
WORKDIR /dir
RUN wget http://nodejs.org/dist/v0.10.26/node-v0.10.26-linux-x64.tar.gz
RUN tar -zxf node-v0.10.26-linux-x64.tar.gz
RUN cd /node-v0.10.26-linux-x64 && ./configure
RUN cd /node-v0.10.26-linux-x64 && make
RUN cd /node-v0.10.26-linux-x64 && make install

# Update again
RUN apt-get-update

# Copy all the files 
ADD dir/subdir dir/subdir

EXPOSE 8080
CMD ["node", "/dir/subdir/index.js"]

这是日志中出现错误的一部分

Step 6 : RUN tar -zxf node-v0.10.26-linux-x64.tar.gz 
---> Running in xxxxxxx 
---> xxxxxxxxxxxxxx
Removing intermediate container xxxxxxxxxxxx
Step 7 : RUN cd /node-v0.10.26-linux-x64 && ./configure 
---> Running in xxxxxxxx
[91m/bin/sh: 1: cd: can't cd to /node-v0.10.26-linux-x64
 [0m 
The command [/bin/sh -c cd /node-v0.10.26-linux-x64 && ./configure] returned a non-zero   code: 2

有谁知道错误2意味着什么以及如何解决它?

2 个答案:

答案 0 :(得分:3)

这次我测试了它。

FROM ubuntu:12.04

# Create directory 
RUN mkdir -p /dir/subdir

# Make sure package is up to date
RUN apt-get update

# Install dependencies
RUN apt-get install -y build-essential openssl libssl-dev pkg-config python 

# Install nodejs
WORKDIR /dir
ADD http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz /dir/
RUN tar -zxf node-v0.10.29.tar.gz
WORKDIR /dir/node-v0.10.29
RUN ./configure && make && make install
WORKDIR /dir

# Copy all the files 
ADD dir/subdir dir/subdir

EXPOSE 8080
CMD ["node", "/dir/subdir/index.js"]

答案 1 :(得分:2)

Docker(v1.0.0)将WORKDIR用于后续RUNcd /node-v0.10.26-linux-x64 /dir {{1}}中的{{1}}无法解决问题。