Docker/Dockerfile

WORKDIR

YOOANT 2026. 3. 15. 11:40

✅ 意味

WORKDIR で作業ディレクトリを切り替えると、それ以降に記述されるすべての RUN, CMD, ENTRYPOINT, COPY, ADD 命令は、そのディレクトリを基準に実行されます。

作業ディレクトリをあえて指定する理由は、コンテナ内部のフォルダを整理して管理するためです。

コンテナもミニコンピュータと同じであるため、Dockerfile を通じて生成されるファイルを特定のフォルダにまとめておいた方が、後々の管理が容易になります。

もし WORKDIR を使用しない場合、新しく作成したファイルがコンテナ内部の既存ファイルと混ざってしまいます。


✅ 使い方

Dockerfile
# 文法
WORKDIR [作業ディレクトリとして使用する絶対パス]

# 例
WORKDIR /usr/src/app

🎯 例題

1. app.txt, src (フォルダ), config.json ファイルを作成

2. Dockerfile を作成してイメージをビルド、コンテナを実行

 WORKDIR を使わなかった場合、ファイルがどのように構成されるか確認してみましょう。

Dockerfile

FROM ubuntu

# 作業ディレクトリを /my-dir に設定(存在しない場合は自動作成されます)
WORKDIR /my-dir

# ファイルは /my-dir の中にコピーされます
COPY ./ ./

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]
 
$ docker build -t my-server .
$ docker run -d my-server
$ docker exec -it [コンテナID] bash

$ ls # /my-dir 内にファイルが整理されているのを確認

'Docker > Dockerfile' 카테고리의 다른 글

EXPOSE  (0) 2026.03.15
RUN  (0) 2026.03.15
Spring Bootを Dockerで実行  (0) 2026.03.15
ENTRYPOINT  (0) 2026.03.15
COPY : ファイルのコピー  (0) 2026.03.13

日本語