Dockerfileでcdコマンドが効かない

today

RUNごとにcdコマンドを記述するとうまくいかない

Dockerfile
RUN cd ta-lib
RUN ./configure --prefix=/usr
RUN make
RUN make install

上記の例は、ta-libディレクトリに移動してmakeコマンドでインストールを行おうとしているのだが失敗する。

理由は、RUNに書かれたコマンドはホームディレクトリ(上記の場合は / )で実行されるからである。

対策: &&などでコマンドを連続して記述する

対策としては&&などで連続してコマンドを記述すればいい。
ただし使用するイメージのosによってコマンド連結方法は異なる。
下記の例はlinux系のイメージとする

Dockerfile
RUN cd ta-lib && \
    ./configure --prefix=/usr && \
    make && \
    make install
この記事のタグ
Share
© 2020 heisen-tech.com Inc.