lệnh:Docker lệnh thất bại trong xây dựng, nhưng thành công khi thực hiện trong vòng chạy chứa
docker build -t nginx-ubuntu .
whith Dockerfile dưới đây:
FROM ubuntu:12.10 RUN apt-get update RUN apt-get -y install libpcre3 libssl-dev RUN apt-get -y install libpcre3-dev RUN apt-get -y install wget zip gcc RUN wget http://nginx.org/download/nginx-1.4.1.tar.gz RUN gunzip nginx-1.4.1.tar.gz RUN tar -xf nginx-1.4.1.tar RUN wget --no-check-certificate https://github.com/max-l/nginx_accept_language_module/archive/master.zip RUN unzip master RUN cd nginx-1.4.1 RUN ./configure --add-module=../nginx_accept_language_module-master --with-http_ssl_module --with-pcre=/lib/x86_64-linux-gnu --with-openssl=/usr/lib/x86_64-linux-gnu
Thất bại ở dòng cuối cùng (./configure ...)
Nếu tôi xóa dòng cuối cùng và chạy một bash trong vùng chứa, và thực hiện dòng cuối cùng theo cách thủ công, nó hoạt động.
Tôi hy vọng rằng bất cứ điều gì lệnh chạy thành công trong một container nên làm việc khi lệnh được gắn trong Dockerfile (bắt đầu bằng RUN)
tôi thiếu cái gì?
Tôi hiểu, vì vậy tôi đoán mọi lệnh RUN đều có ngữ cảnh mới, vì không có gì được giữ nguyên. Cảm ơn đã phản ứng nhanh chóng ! –
@ MaxL.yes, đúng vậy. –
Sử dụng WORKDIR thay vì cd. Xem câu trả lời của @ alanfalloon. – emisilva