Docker で作業ディレクトリを変更するコマンド

Marion Paul Kenneth Mendoza 2023年6月20日
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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - Docker Directory