Docker上でPython開発環境を構築する

Docker上でPython開発環境を構築するDocker
ゆうすけ
ゆうすけ

Docker上でPythonを開発するための環境を作りたいです・・・

資格マフィア
資格マフィア

比較的簡単に作成できるぞ。構築手順とともに解説しよう。


✔️ 本記事のテーマ

Docker上でPython開発環境を構築する方法


✔️ 読者さんへの前置きメッセージ

本記事は「Docker上でPythonの開発環境を構築する方法」について書いています。

 

この記事を読むことで「Docker上でPythonを使う方法から、コンテナ上にPython開発環境を構築するまで」をイメージできるようになります。

 

Dockerとは、Docker社によって開発されたコンテナ仮想化ツールです。

 

Dockerでは、コンテナという新しい仮想化概念によってインフラ環境を構築することができます。

 

そのコンテナ上にPython開発環境を構築することで、OSやPCの違いを意識することなく、同じ環境でPython開発を行うことができます。

 

その手順やメリットを解説していきます。

 

Docker上にPython開発環境を構築する方法

Docker上にPython開発環境を構築する方法

Dockerは非常に手軽に使えるツールです。

 

Python開発環境程度なら割とすぐに構築できます。

 

具体的には、以下の手順でPython開発環境を構築します。

  1. Dockerをインストールする
  2. Dockerのイメージをダウンロードする
  3. aptをアップデートする
  4. Pythonとpipをインストールする
  5. エディタを入れる

手順を詳しく解説していきましょう。

Dockerをインストールする

Dockerはインストールも簡単です。

 

WindowsでもMacでも数ステップで完了します。

 

なお、詳しいインストール方法は
Dockerのインストール方法【Windows版】【Mac版】」の記事で紹介しています。

Dockerのイメージをダウンロードする

まず、Dockerのイメージをダウンロードしてきましょう。

 

今回は「Ubuntu 18.04」を使います。

 

以下のコマンドでDocker imageをダウンロードすることができます。

$ docker pull ubuntu:18.04

 

イメージを落としてきたら、そのイメージを使ってコンテナを起動させましょう。

 

以下のコマンドを実行すると、
Ubuntu Imageからコンテナを起動し、そのコンテナの中に入ることができます。

$ docker run -it --name my-ubuntu ubuntu:18.04 /bin/bash

 

これで起動したコンテナの中に入ることに成功しました。
以降、コンテナの中で作業を行なっていきます。

aptをアップデートする

ダウンロードしてきたUbuntu Imageは全くの初期状態なので、
そのままでは使うことができません。

 

以下のコマンドでaptを最新化しておきましょう。

 

aptはOSソフトウェアをインストールするためのツールです。

apt update
apt upgrade

 

この作業をすることで、
OSソフトウェアをインストールして自分好みの環境にすることができます。

Pythonとpipをインストールする

起動したコンテナにPythonとpipをインストールします。

 

Pipとは、Pythonライブラリを管理するためのツールです。

 

以下のコマンドで、インストールすることができます。

apt install python3
apt install python3-pip --fix-missing

エディタを入れる

ここまでで、Pythonが実行するための環境が整いました。

 

次は、エディタを入れていきましょう。

 

今回は最もシンプルなエディタ、vimを入れていきます。

 

以下のコマンドでvimをインストールしましょう。

apt install vim

 

もちろんもっと高機能なエディタやIDEを入れることもできます。
その場合は、コンテナの画面出力をホストPCと紐付けるなどの設定も実施しましょう。

 

Docker上にPython開発環境を構築するメリット

Dockerコンテナを使うメリット

Docker上にPython開発環境を構築するメリットは大きく3つです。

 

他にもたくさんのメリットがありますが、特筆すべきはこの3つでしょう。

移植が圧倒的に楽
環境構築のやり直しが出来る
不要なものを入れなくて良い

一つずつ解説していきましょう。

 

なお、Dockerを使うメリットについては
Dockerコンテナを使うメリット」の記事でも詳しく解説しています。

 

移植が圧倒的に楽

移植が圧倒的に楽

Docker上で開発環境を構築するメリットとして、一番大きいのはこれではないでしょうか。

 

開発環境をDockerコンテナとして構築しておけば、OSやライブラリ、ミドルウェアを意識せずにその環境を使えるのがメリットです。

 

Dockerが入っているPCであれば、
その違いを意識せずに開発できるのはとても嬉しいです。

 

そのため、会社の端末、家の端末、出先の端末など、
どこでも同じインフラ環境で開発できるので捗ります。

環境構築のやり直しが出来る

環境構築のやり直しが出来る

Docker上に開発環境を作ることで、環境構築のやり直しがすぐにできます。

 

プログラミングをしていると、環境作ってる時に想定外のエラーが起こることは多々あります。

  •  ライブラリのインストールに失敗して中途半端に何かが入っちゃうとか…
  • パッケージが足りないと言われて、パッケージインストールしたのに結局上手くいかないとか…
  •  何かをインストールしたせいで、それまで上手くいってたものまで動かなくなったとか…

 

そんな時に、Dockerであればコンテナを抜けるだけで、
ごちゃごちゃした環境をリセット出来るのはとても有り難いです。

 

インフラ環境のエラーで開発がストップするのは、避けたいですよね。

 

Dockerを使うことで、インフラの面倒ごとから距離を置けるのは、嬉しいことです。

不要なものを入れなくて良い

不要なものを入れなくて良い

Python開発環境をDocker上に作ることで、
余計なものを入れる必要がなくなります。

 

 Pythonの開発を行うとき、
その開発環境にPython自体のバージョン管理として
virtualenvとかpyenvを入れて運用することが多いでしょう。

参考記事:【pythonバージョン管理】pyenvの使い方

 

Docker上で開発環境を作れば、それらのミドルウェアは入れなくて良くなります。

 

他のバージョンを入れたいときは別のコンテナやイメージを作れば解決しますからね。

 

簡単な構成にしておくことは環境を作る上でも、運用上でもメリットは大きいです。

 

DockerやPythonについてもっと学ぶなら

Dockerコンテナについてもっと学ぶなら

Dockerは、その便利さ & 手軽さから、注目度が高まっているサービスです。

 

システム開発の現場でも徐々に使われ始めてきているので、積極的に学習しておきたい技術です。

 

Docker についてスキルをつけるなら以下の書籍がオススメです。

 

Docker はその便利さと普及率によって
プログラマにとっては必須の知識となっています。

その一方で、インフラ周りの知識が求められるので理解がハードルが少し高いです。

 

この書籍は Docker について基本からかなり丁寧に書かれているので
独学者やインフラ周りの知見がない方でも読み進めやすい内容になっています。

 

「何が分からないのか分からない」状態にならず
Docker の概念や使い方についてスッと理解できるかと思います。

エンジニアとしての自身の価値をチェックする(完全無料)

エンジニアとして、

自分の価値がどれくらいのものかご存知でしょうか?

 

エンジニアとしてIT業界に身を置いていると

今の会社でずっと働くのか、フリーランスとして独立するのか …

と様々な選択肢があります。

 

どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも

自身の価値を知っておくことはとても重要です。

 

TechClips ME では、

職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。

▼▼▼▼▼

▲▲▲▲▲

しかもTechClips MEでは想定年収を企業から提示してくれるので、

自身の価値を数字で分かりやすくたしかめることができます。

 

登録はもちろん完全無料なので、一度登録してみると良いかもしれません。

 

コメント

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