(最終更新月: 2025年07月17日)
✓当記事はこんな方におすすめです
「Dockerを使ってPython環境を簡単に構築したい」
「仮想環境や依存関係のトラブルにもう悩みたくない」
「実際の手順やサンプルを参考にして、自分で試したい」
✓当記事で理解できること
- DockerとPythonの基本概念
- Dockerを使ったPython環境の構築手順
- 実践的なDocker+Pythonの活用事例
当記事では、未経験者でも迷わずにDocker環境上でPythonを動かすための手順やポイントを、サンプル付きでわかりやすく解説します。
最後まで読んでいただければ、仮想環境の構築でつまずくことなく、すぐに実践に移せるようになります。
それでは、一緒に見ていきましょう。
DockerとPythonの基本を理解しよう
このセクションでは、DockerとPythonそれぞれの基礎について解説します。
なぜなら、両者の特長や相性を理解することで、仮想環境を扱う際のモヤモヤや疑問を払拭できるからです。
- Dockerとは何か?
- Pythonとは何か?
- なぜDocker×Pythonが人気なのか
Dockerとは何か?
Dockerは「どこでも同じ環境で動く仕組み」を簡単に実現できる仮想化技術です。
これまで「自分のPCだけうまく動く」「他人の環境ではエラーが…」という悩みが多くありました。
Dockerは、アプリに必要な設定やライブラリをまとめて1つの”コンテナ”にパッケージすることで、こうした問題をほぼゼロにできます。
プログラミング初心者にとっても、本番環境・開発環境の違いを気にせず、手軽に再現性ある開発ができるようになります。
Pythonとは何か?
Pythonは「書きやすさ」「読みやすさ」が強みの、あらゆる分野で使われる人気プログラミング言語です。
データ分析やWeb開発、AIなど多様な現場で使われており、未経験から学ぶプログラミング言語としてもよく選ばれています。
また豊富なライブラリがあり、たとえばJSON処理やAPI連携など実務ですぐ役立つ機能をサッと使えます。
「覚えやすいこと」「将来の選択肢が多いこと」から、Pythonへの人気が高まっています。
なぜDocker×Pythonが人気なのか
Pythonの環境構築は単純そうに見えて、依存関係やOS差異によるエラーでよく初心者が苦戦します。
Dockerを使うと、Pythonの実行環境・ライブラリバージョン・各種設定など、すべてコード化して一元管理できます。
例えば「チームメンバーが全く同じPython環境でアプリを開発・動作確認できる」ため、プロジェクト進行も安心です。
自宅・教室・会社、どこでも同じ動きが保証されるので、学びやすく、実践にも直結します。
Dockerを使うメリット
このセクションでは、Dockerを活用することでどんな利点が得られるのか、実体験を交えつつ解説します。
エンジニア転職を目指す人や実務で役立てたい初学者は、「なぜDockerを覚えるべきか?」をここでしっかりイメージできます。
- どこでも同じ環境を再現できる
- トラブル時のリセットや再構築が一瞬でできる
- 新しい技術の検証や複数環境の運用もラクラク
どこでも同じ環境を再現できる
Dockerを使えば、自分のPCでも、ノートPCでも、クラウドでも「全く同じPython環境」をワンクリックで再現できます。
手作業でのミスやバージョン違いによる「よくわからないエラー」が無くなるのはとても大きな利点です。
たとえば、自宅のWindows・職場のMac・クラウドサーバーでも、同一Dockerイメージを使うだけで全く同じアプリが動きます。
チーム開発や個人開発どちらでも重宝し、「動く環境がない…」問題とサヨナラできます。
トラブル時のリセットや再構築が一瞬でできる
何か設定や依存関係をいじって壊してしまっても、「docker-compose down && docker-compose up -d」だけで完全な状態に即復元できます。
トラブル時や「環境をやり直したい」とき、ゼロからセットアップする必要がなくなります。
加えて、環境構築の手順を常に記録・共有できるので、「一度できたことが再現できない…」という失敗も回避できるのです。
試行錯誤しながらスキルアップしたい初心者にとって大きな武器となります。
新しい技術の検証や複数環境の運用もラクラク
Dockerでは「Python 3.10で試したいけど、3.8も残したい」といった複数バージョン管理も簡単です。
新しめのライブラリや他バージョンを試しても、本体PCの環境は一切汚れません。
「いろんな仮想環境を同時運用し、すぐ消せる」ことは、独学・実務どちらにも嬉しい特徴です。
Pythonのバージョン切り替えについて知りたい方はこちらの記事も参考にしてください。
Dockerのインストール手順(Ubuntu例)
このセクションでは、Dockerの基本的なインストール手順(Ubuntu環境例)を具体的に紹介します。
なぜなら、環境構築の最初の壁でつまずかないことが、学習や開発の継続にとても重要だからです。
- 古いDockerのアンインストール
- 必要パッケージの準備
- 公式リポジトリの追加とDocker本体のインストール
- 正しくインストールできたか確認する
古いDockerのアンインストール
既に入っているDockerがある場合は、事前にアンインストールをしておくとトラブルになりにくいです。
古いバージョンが混在している場合、パッケージの整合性でエラーが出やすいためです。
下記コマンドでスムーズにアンインストールできます。
sudo apt-get remove docker docker-engine docker.io containerd runc
不要なものを一度整理してから、次のステップに進みましょう。
必要パッケージの準備
Dockerを正しくインストールするには、事前に数種類のツールや証明書管理パッケージを用意します。
これはリポジトリのhttps通信や認証処理に必要になるためです。
次のコマンドを順に実行します。
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
もしエラーが出ても、表示内容をよく読むことが大切です。
公式リポジトリの追加とDocker本体のインストール
公式のリポジトリを追加したうえで、Docker本体とCLIツールをインストールします。
安心してアップデートや利用ができるので、必ず公式サイトの手順を参照しましょう。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
他のOSの場合は公式サイトのDocker公式(Get Docker)も参考になります。
正しくインストールできたか確認する
下記コマンドで”Hello from Docker!”が表示されればインストール完了です。
sudo docker run hello-world
正常稼働を確認したら、次の環境設定へ進みましょう。
Docker+Python開発環境の設定方法
このセクションでは、「Docker上でPythonの開発環境を構築するためのファイルや設定方法」を解説します。
なぜなら“実際のファイル配置や書き方がわからない”という初心者の疑問を、具体的な実例とともにすべて解決できるからです。
- プロジェクトのファイル構成例
- Dockerfileの作り方と役割
- docker-compose.ymlの概要と活用
- Pythonサンプルファイル(sample.py)の具体例
プロジェクトのファイル構成例
最小限では「Dockerfile」「docker-compose.yml」「Pythonコードファイル(例:sample.py)」の3つが必要です。
実践的には以下のようなディレクトリ構造になります。
your_project/
├── Dockerfile
├── docker-compose.yml
└── sample.py
複数ファイルの場合は「app/」などサブディレクトリを作るのもおすすめです。
Dockerfileの作り方と役割
Dockerfileは「どんな環境を作るか」を記述するレシピです。
Python3公式イメージをベースにするのがシンプルで、初心者にも扱いやすいでしょう。
たとえば下記のような内容で十分に動きます。
# syntax=docker/dockerfile:1
FROM python:3.10-slim
WORKDIR /app
COPY sample.py ./
CMD ["python", "sample.py"]
必要に応じてrequirements.txtによるライブラリ管理も追加できます。
詳しくはrequirements.txtの解説記事も参考にしてください。
docker-compose.ymlの概要と活用
複数のコンテナ管理や環境ごとの設定に便利なのがdocker-compose.ymlです。
単体アプリの場合も使い勝手がよく、次のような簡単な記述だけでも運用可能です。
version: '3.8'
services:
python_app:
build: .
volumes:
- .:/app
command: python sample.py
ファイル変更をリアルタイムで反映したい(ホットリロード)ならvolumesを活用すると効率的です。
Pythonサンプルファイル(sample.py)の具体例
作成したDocker環境で動かす用のPythonファイルを用意しましょう。
ごくシンプルなファイル例は下記の通りです。
print("Hello, Docker + Python!")
このファイルと上記Dockerfile・docker-compose.ymlを同じディレクトリに置くだけで、すぐに実行できます。
Docker上でのPythonアプリ実行手順
このセクションでは、先ほど用意したファイル群から実際にDockerコンテナを立ち上げ、Pythonコードを実行する方法を説明します。
“どうやって動かすの?”“実行後どう確認する?”という初心者の疑問を完全に解消できます。
- Dockerイメージのビルドとコンテナ起動
- イメージ・コンテナ状況の確認方法
- コンテナ内部でのコード実行・ライブラリ追加
Dockerイメージのビルドとコンテナ起動
最初に「docker-compose up –build」でPython付きコンテナを構築・起動できます。
docker-compose up --build
シンプルに「Hello, Docker + Python!」と表示されればOKです。
docker-composeの代わりに直接docker buildやdocker runコマンドも利用できますが、初心者にはcompose形式のほうがミスが少ないです。
複数コンテナの連携や止める場合は「docker-compose down」なども覚えておくと便利です。
イメージ・コンテナ状況の確認方法
「docker images」でイメージ一覧、「docker ps」で稼働中コンテナがわかります。
docker images
docker ps
止めたコンテナも見たい場合は「docker ps -a」を使いましょう。
状況をしっかり把握することで、「動いてない!?」という焦りやミスを防げます。
コンテナ内部でのコード実行・ライブラリ追加
実行中のコンテナに入ってコマンド実行する場合は「docker exec -it [コンテナ名] /bin/bash」とします。
docker exec -it python_app /bin/bash
中に入ったら普通のLinux環境なので、pip installや「python sample.py」の実行なども自由自在です。
ライブラリは都度インストールもOKですが、再現性や管理のためにはDockerfileやrequirements.txtで指定しておくのが鉄則です。
JupyterNotebookをDockerで使う
このセクションでは「Docker×Jupyter Notebook」という開発・分析に強い組み合わせを例示します。
データ分析・機械学習志望者が「Webブラウザから手軽にPythonを試したい」ときにもってこいの方法だからです。
- JupyterLabをDockerで起動する方法
- Webブラウザでのインタラクティブな活用
- 外部からのアクセスやセキュリティに注意
JupyterLabをDockerで起動する方法
Dockerfileやdocker-compose.ymlでJupyterLabイメージを指定すると、わずか数行でJupyter環境を用意できます。
例:docker-compose.ymlの一部
services:
jupyter:
image: jupyter/base-notebook
ports:
- "8888:8888"
volumes:
- ./notebooks:/home/jovyan/work
起動後「http://localhost:8888」にアクセスし、token認証でWebUIが使えます。
Webブラウザでのインタラクティブな活用
JupyterLabを使えば、Pythonコードの記述も実行もすべてWebブラウザ上で完結します。
コード例・グラフ・Markdownなど多彩な表現が1つにまとまるため、試行錯誤や学習、プレゼンにも最適です。
なお数式やデータ可視化ならmatplotlibの余白調整解説記事なども併せて読むと、表現の幅が広がります。
外部からのアクセスやセキュリティに注意
Jupyterは公開状態だと誰でも実行できてしまうリスクがあります。
必ずtoken認証やパスワード設定、アクセス元IP制限などのセキュリティ対策を取ってください。
実務や公開用途の場合、一段踏み込んでDockerネットワークやVPS等の設定知識も身に着けるのがおすすめです。
Dockerコンテナの管理・メンテナンス
このセクションでは、作業後や不要になった環境の整理・トラブル対処の基本について説明します。
なぜなら、「ずっとコンテナを残しておく」とPCの容量が不足したり、複数プロジェクト混在で混乱するため、健全運用のため管理方法を知っておく必要があるからです。
- コンテナの停止・再起動・削除
- イメージの整理とストレージ節約
- 困ったときは再構築・リセット
コンテナの停止・再起動・削除
一時的に止めたい場合は「docker stop」、完全削除したい場合は「docker rm」を使います。
docker-composeを使っている場合は「docker-compose down」だけでOKです。
状況に応じて柔軟に管理することが、気持ちよく学習・開発を続けるコツです。
イメージの整理とストレージ節約
「使わなくなったイメージ」は「docker rmi」または「docker image prune」で掃除できます。
余計なファイル・イメージが溜まるとストレージ圧迫や性能劣化につながります。
月1回の定期掃除や不要プロジェクト削除を習慣化しましょう。
困ったときは再構築・リセット
何かエラーが出て手がつけられなくなったら「一からdocker-compose up –build」で作り直せば大抵解決します。
無理に手作業修復を頑張るより、最初からやり直す勇気も大切です。
「壊してもすぐ元に戻せる」Dockerの強みをうまく活用しましょう。
どうしても直せなければ一度「公式ドキュメント」やコミュニティを検索する癖をつけるとよいです。
まとめ
本記事では、DockerでPython環境を効率よく構築・運用する手順や考え方を、初心者向けに具体例つきで解説しました。
特に大切なポイントは次の3つです。
- DockerならPCを汚さず「どこでも同じPython環境」がすぐにつくれる
- ファイル構成・基本コマンド・定期メンテナンス方法を押さえれば、失敗やトラブルもぐっと減る
- JupyterLabの活用など、さらに発展的な使い方も簡単にスタートできる
「環境構築で挫折した…」「もっと効率的に勉強したい!」という方は、今回紹介した手順を使って自分だけの開発環境を構築してみてください。
実践しながら分からないところや次に学ぶべきことが見えてきたら、Pythonインストール方法やサンプルコード特集も参考に、学習の幅を広げてください。
また、学習環境や開発サーバーをクラウドで用意したい方は、初心者でも使いやすいクラウドVPS「DigitalOcean」なども活用できます。
摩擦のない環境構築で、あなたのITエンジニアへの一歩を最短で踏み出しましょう!