LinuxでDocker環境を構築し、Java・Pythonアプリをコンテナ化する

はじめに

Dockerは、アプリケーションを環境に依存せず動かすためのコンテナ技術です。Linux上での開発・運用においては、JavaやPythonのアプリをコンテナ化することで、環境差異によるトラブルを最小限に抑えることができます。
この記事では、Linux上にDockerを導入し、Java・Pythonアプリをコンテナ化するまでの流れを解説します。


1. LinuxでDockerをインストールする

1-1. 事前準備

まずはパッケージリストを更新します。

sudo apt update
sudo apt upgrade -y

1-2. Dockerのインストール

Ubuntu系の場合、以下の手順でDockerをインストールします。

sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

1-3. Dockerサービス確認

sudo systemctl status docker

active (running) となっていればOKです。


2. サンプルJavaアプリをコンテナ化する

2-1. Javaアプリの準備

簡単なHelloWorldプログラムを作成します。

Hello.java

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello from Java in Docker!");
    }
}

2-2. Dockerfileを作成

Javaの公式イメージを利用します。

Dockerfile

FROM openjdk:17
WORKDIR /app
COPY Hello.java .
RUN javac Hello.java
CMD ["java", "Hello"]

2-3. ビルドと実行

docker build -t java-hello .
docker run --rm java-hello

結果:

Hello from Java in Docker!

3. サンプルPythonアプリをコンテナ化する

3-1. Pythonアプリの準備

app.py

print("Hello from Python in Docker!")

3-2. Dockerfileを作成

Pythonの公式イメージを利用します。

Dockerfile

FROM python:3.10
WORKDIR /app
COPY app.py .
CMD ["python", "app.py"]

3-3. ビルドと実行

docker build -t python-hello .
docker run --rm python-hello

結果:

Hello from Python in Docker!

4. Docker Composeで複数アプリをまとめて管理する

JavaとPythonのコンテナを同時に動かしたい場合は、Docker Composeが便利です。

docker-compose.yml

version: "3.9"
services:
  javaapp:
    build: ./java
    container_name: java_container
  pythonapp:
    build: ./python
    container_name: python_container

構成例:

  • ./java フォルダ → Java用のDockerfileとソースコード
  • ./python フォルダ → Python用のDockerfileとソースコード

起動方法:

docker-compose up --build

まとめ

この記事では、Linux環境にDockerを導入し、Java・Pythonアプリをコンテナ化する方法を紹介しました。

  • Dockerを使えば、環境差異を気にせずアプリを実行できる
  • Java・Pythonは公式イメージを活用して簡単にコンテナ化可能
  • 複数アプリを動かす場合はDocker Composeが便利

今後は、データベース(MySQL・PostgreSQL)やWebサーバ(Nginx・Apache)との連携もコンテナで統一すると、より実務的な環境構築が可能になります。

タイトルとURLをコピーしました