WindowsにDockerをインストールしてPython環境を構築

Dockerを使おう

みなさんDockerを使っていますか?
環境をさくっと用意できるのは便利ですよね!

今回はWindowsにDockerをインストールして、Python環境を構築してみたいと思います。

ダウンロード

Windows用Dockerデスクトップをインストールします。

私はWindows 10 Proを使用しております。

以下のページより、Docker Desktop for Windowsをダウンロードします。無料です。

ダウンロードにあたり、Dockerのアカウントが必要になります。

上記の赤枠のボタンをクリックし、アカウントを作成します。

Docker IDやパスワード、メアドを登録します。

登録後、再度ダウンロードページへ戻り、ダウンロードを行います。
Get Dockerボタンをクリックします。

インストール

ダウンロードしたインストーラを起動します。
可愛いクジラちゃん笑
Moby Dockって名前らしいですよっ

2つのチェックボックスがありますが、下の方はチェックを入れず、そのまま次へ進みます。

インストールが開始されます。

それほど時間がかからずにインストールが完了しました。
「Close and log out」ボタンをクリックすると、一度Windowsのサインアウトになるので注意。

サインイン後、Dockerが起動しますが、以下のようなエラーになりました。

Hyper-V and Containers features are not enabled.
Do you want to enable them for Docker to be able to work properly?
Your computer will restart automatically.

Hyper-Vが有効になっていないとのエラーです。
OKをクリックすると自動設定してくれるみたいですが、手動でHyper-Vを有効にしますので、Cancelボタンをクリックします。

恥じらいクジラ笑

ということで、Hyper-Vを有効にします。
「Windowsの機能の有効化または無効化」を開きます。
手っ取り早くWindowsの検索で「Hyper-V」と打ってもOKです。

Hyper-Vを探し、以下のようにチェックを入れます。

追加後、一度再起動が必要になります。

再起動後、正常に起動すると以下の画面が表示されます。
ログインはここでは不要です。

PowerShellを起動し、「docker ps」と打ちます。
以下のような表示になれば、まずは正常に動作しています。

以前ハマったポイント

Hyper-Vを有効にすると、VirtualBoxが起動できなくなります。
(当時使っていたマシンでは、ブルースクリーンになりました・・)
VirtualBoxを使う時は、Hyper-Vを無効にする必要があります。

また「仮想化」を有効にする必要があります。(無効の場合、Hyper-Vを有効にできなかったような)
これも別マシンであったのですが、タスクマネージャーの以下の箇所を確認します。
無効になっている場合は、BIOSの設定で有効にする必要があります。
→設定方法は、お使いのマシンの型番と「仮想化 有効」でググると出てくるかと思います。

設定

Dockerの設定を開きます。
「Start Docker Desktop when you log in」のチェックを外しました。

Advancedの「Disk image location」の場所を変えました。
このファイルが結構大きくなるので、私の場合はCドライブではなく、Dドライブへ移しました。
→パスを変更し、Applyボタンをクリックすると移動してくれます。

Dockerイメージのダウンロードと起動

Dockerの準備ができましたら、Pythonイメージをダウンロードします。
PowerShellから以下のようにコマンドを実行します。(Python3.6環境)

「docker images」でイメージがダウンロードされたか確認します。

コンテナを起動します。
「pytest」は名前ですので任意で指定してください。

rootでログインしているような状態になります。

このコンテナには何も入っていないので、とりあえずエディタを入れました。

「vi test.py」とコマンドを打ち、test.pyファイルを作成します。
中身はとりあえず、printで文字を出すようにしました。

「python test.py」と入力し、Pythonが実行されることを確認します。

たったこれだけでPython環境が作れました!

フォルダの共有

コンテナ側とWindows側で、フォルダを共有できます
それによりソースコードやログファイルの共有ができ便利です。

Dockerの設定で、以下のように、共有したいドライブをチェックします。

今度はDockerコマンドで、「-v ホストパス:コンテナパス」を追加します。
それぞれのパスは任意で結構です。(別コンテナを作成します)

Windows側では共有したフォルダに、適当なファイルを作成します。

コンテナ側で、ファイルが作成されていることを確認します。
(Windows側で作成したPythonファイルをコンテナで実行した例)

最後に

Dockerは簡単に環境を用意できますし、他人に同じ環境を配布する場合も便利ですね!

お気軽にフォローください!

シンプルで高機能なクリップボード履歴フリーソフト「Clibor」

シンプルで高機能なクリップボード履歴ソフトです。
Cliborはフリーソフトです。

普段よく文字を入力する方や、ブラウザに決まったキーワードを張り付ける方など、テキストの入力がとても便利になりますので是非ご利用ください!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)