0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerfileの書き方

Last updated at Posted at 2025-01-30

1. Dockerfileとは?

  • Dockerfileとは、Dockerのコンテナを作るための設計書です。

例えば、「Webアプリを動かす環境」を準備するには、次のような手順が必要です。

✅ OSの準備(Linuxなど)

✅ 必要なソフト(Python, Node.js, Javaなど)のインストール

✅ アプリのコードをコピーする

✅ アプリを実行する

普通は手動でセットアップする必要がありますが、Dockerfileを使えば、これらの作業をすべて自動化できます!


2. Dockerfileの基本構造

Dockerfileには、「何を準備するか」を1行ずつ書いていきます。

基本の書き方は、次のようになります。

dockerfile

# 1. ベースイメージを指定
FROM python:3.9

# 2. 作業ディレクトリを指定
WORKDIR /app

# 3. 必要なファイルをコピー
COPY . /app

# 4. 必要なパッケージをインストール
RUN pip install -r requirements.txt

# 5. 実行するコマンドを指定
CMD ["python", "app.py"]


3. Dockerfileの書き方(コマンド一覧)

① FROM(ベースイメージを指定)

Dockerコンテナは、必ず「ベース」となるOSや環境を持ちます。

FROM を使って、どのベースイメージを使うか指定します。

例:Python環境を作る場合

dockerfile

FROM python:3.9

例:Node.jsの環境を作る場合

dockerfile

FROM node:16

例:Ubuntu(Linux OS)を使う場合

dockerfile

FROM ubuntu:latest


② WORKDIR(作業ディレクトリの指定)

コンテナの中で、どのフォルダを使うか指定します。

dockerfile

WORKDIR /app

この場合、コンテナの中に /app というフォルダが作られ、

以降のコマンドは すべて /app の中で実行 されます。


③ COPY(ファイルをコピーする)

ローカルのファイルをコンテナ内にコピーします。

dockerfile

COPY . /app

「.(カレントフォルダ)」の中身を、「/app」フォルダにコピー する

例えば、アプリのコードや設定ファイルをコンテナに入れたいときに使います。


④ RUN(コマンドを実行する)

コンテナを作るときに、一度だけ実行するコマンド を指定できます。

例えば、Pythonのライブラリをインストールする場合:

dockerfile

RUN pip install -r requirements.txt

Pythonのパッケージをまとめてインストール

他にも、Ubuntuでパッケージをインストールするなら:

dockerfile

RUN apt-get update && apt-get install -y curl

OSのパッケージを更新&curlをインストール


⑤ CMD(コンテナ起動時に実行するコマンド)

コンテナが起動したときに、実行するプログラム を指定します。

dockerfile

CMD ["python", "app.py"]

Pythonで app.py を実行

Node.jsなら:

dockerfile

CMD ["node", "server.js"]

Node.jsで server.js を実行

📌 CMDとRUNの違い

  • RUN → コンテナを作るときに 一度だけ 実行する
  • CMD → コンテナが起動する たびに 実行する

4. Dockerfileを使ってコンテナを作る手順

Dockerfileを作ったら、実際にコンテナを作って動かしてみましょう!

① Dockerfileを作る

まずは、プロジェクトフォルダに Dockerfile を作ります。


my_project/
 ├── app.py
 ├── requirements.txt
 ├── Dockerfile  ← ここに作る!

Dockerfileの内容は、例えば次のようにします。

dockerfile

FROM python:3.9
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]


② Dockerイメージを作る

Dockerfileを使って、Dockerイメージ(設計図)を作成します。

sh

docker build -t my-python-app .

my-python-app という名前のDockerイメージが作成される!


③ Dockerコンテナを起動

作成したイメージを使って、コンテナを起動します。

sh

docker run -p 5000:5000 my-python-app

アプリが http://localhost:5000 で動く!


5. まとめ

Dockerfileとは?コンテナを作るための設計書

FROMベースとなる環境を指定する(Python, Node.js, Ubuntu など)

WORKDIR作業フォルダを決める

COPYローカルのファイルをコンテナ内にコピーする

RUNインストール作業を実行するapt-getpip install など)

CMDコンテナ起動時に実行するコマンドを指定する

イメージを作ってコンテナを起動すればアプリが動く!

Dockerfileを使えば、どこでも同じ環境を簡単に作れるようになります!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?