Docker で作業ディレクトリを変更するコマンド
Docker では、コンテナーを作成および開始しておらず、コンテナーのシェル内で exec
を行っていない場合、端末コマンドをシームレスに実行することはできません。 これらのコマンドの一例は、作業ディレクトリの変更です。
特定のディレクトリにコンポーネントをインストールする必要がある場合は、作業ディレクトリを変更することが不可欠です。 この記事では、Docker で作業ディレクトリを変更する方法について説明します。
Docker で作業ディレクトリを変更する
次のコマンドは主要なコマンドではなく、Dockerfile を準備するときに使用するエントリです。 思い出せば、Dockerfile を使用して、docker build
コマンドの実行時にコンテナーの作成を自動化できます。
次のセクションでは、Dockerfile を介して作業ディレクトリを変更する 2つの方法について説明します。
RUN
コマンドを使用する
RUN
コマンドを使用して端末スクリプトを実行できます。 次に、Dockerfile 内に、以下のようなエントリを挿入して、作業ディレクトリを変更できます。
RUN cd /dev
他のコマンドを実行する前に、cd
コマンドで作業ディレクトリを変更できます。 ただし、複数のコマンドを実行するために Dockerfile に新しい RUN
エントリを追加する必要はありません。
たった 1 行の RUN
でさまざまなコマンドを使用および追加できます。
コード例:
RUN cd /dev && git clone sample.git && pip install -r requirements.txt
AND (&&
) 演算子を使用して複数のコマンドを実行できます。 たとえば、次のコマンドは、前のコマンドが成功した場合にのみ実行されます。
この場合、git clone
コマンドが失敗すると、pip install
コマンドは実行されません。 ただし、コンテナー内の作業ディレクトリを変更する場合は、より簡単な方法があります。
WORKDIR
コマンドを使用する
RUN
コマンドと同様に、Dockerfile 内に WORKDIR
コマンドを追加して、コンテナーが起動して実行されたら作業ディレクトリを変更できます。
WORKDIR "/dev"
WORKDIR
コマンドは、Docker のビルド ファイルを作成する際の Dockerfile のベスト プラクティスと見なされます。 このシナリオが発生するのは、上記のコマンドを使用すると、コンテナーで実行されたコマンドを読みやすく、区別しやすくなるためです。
WORKDIR "/dev"
RUN git clone sample.git && pip install -r requirements.txt
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn