行を次に変更しようMakefile
としましたが、sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile
sed: can't read Makefile: No such file or directory
FROM ubuntu:16.04
...
# EMBOSS (ftp://emboss.open-bio.org/pub/EMBOSS/)
ENV EMBOSS_VER 6.6.0
RUN apt-get install libhpdf-dev libpng12-dev libgd-dev -y
ADD EMBOSS-${EMBOSS_VER}.tar.gz /usr/local/
WORKDIR /usr/local/EMBOSS-${EMBOSS_VER}
RUN sed -i -e 's|$(bindir)\/embossupdate|:|' Makefile
RUN ./configure --enable-64 --with-thread --without-x
RUN make
RUN ldconfig
RUN make install
sedコマンドで私が間違っているのでしょうか?
答え1
Makefileは、スクリプトが実行されるまで生成されませんconfigure
。sed
コマンドをダウンロード後ろに呼ぶconfigure
。
sed
編集が期待どおりに行われることを確認していませんが、主な問題は、おそらくスクリプトのこの時点でMakefileが存在しないことです。
sed -i
一般的にGNUとBSDの意味が異なるので、これを避けましょうsed
。これがより安全ですsed ... file >tmpfile && mv tmpfile file
。