Windows10 ProでDockerを使ってみる。Docker Desktop for Windows。【メモ】

Dockerを使ってみようと思います。

キッカケになった動画がこちら。

ちょっとやってみようかな、という気になりました。

まず、公式からDocker Desktop for Windowsを入れます。

Windows10のHyper-Vというのをオンにします。「Windowsの機能の有効化または無効化」とWindows10の検索窓で打つと、設定画面が出るはずです。そこから「Hyper-V」を探しましょう。

「Hyper-V」をオンにすると、パソコンの再起動が必要なのですが、このとき軽くエラーが出ます。

Cubaseを入れている場合は、パソコンを再起動するとSteinbergのSoft-elicenserまわりでエラーが出るので、eLicnencer Control Centerを起動して、メニューの「操作」タブから「修復」を選び、きちんと動くようにします。

そうしたら、Dockerを起動します。アプリなので、普通に起動。
Windows検索窓で「Docker」と打つと、「Docker Desktop」というのが出てきます。
それを実行。

・Dockerfileから仮想環境を作る。

Docker Desktopは実行した状態で、PowerShellを起動します。
プロジェクトの場所に行き、

docker-compose up -d

というコマンドを打つと、仮想環境が作られ、バックグラウンドでコンテナが実行されます。

参考『docker-compose run, up, build, createの違い。それぞれの役割を知る。 – Qiita』
https://qiita.com/yuta-38/items/29facbe3f236bf250651

 

以上でDockerの仮想的なLinuxによりプロジェクトが動いている状態になったので、プログラムを書いていけばOKのようです。

こちらのYouTubeの解説が分かりやすいです。

これで、Dockerで仮想環境が作成されたので、あとはその環境(コンテナと言います)を起動させて仮想環境のLinux上でコマンドを打ち、そこに何かを入れても良いでしょう。

Pythonのrequirements.txtがある場合は
pip install -r requirements.txt

でパッケージをインストールです。

ちなみにコンテナの起動や停止、コンテナ内に入るコマンドプロンプトの起動、コンテナの削除などは、Docker Desktopアプリからボタンを押すだけで可能なので、コマンドを打つ必要は無いようです。

かなり便利ですね。

・Docker環境のデータベースにWindows10のデータベース接続クライアントから接続する

Windows10のデータベース接続クライアントからDockerの仮想環境内のデータベースに接続出来ました。Heidi SQLというデータベース接続クライアントを使いましたが、特に特別な設定は不要で、仮想環境を実行中にWindows10から仮想環境のLinuxのMySQLに接続できました。
ここまで出来れば、もう何でも出来る感じがします。

こちらの記事が役に立ちました。

プログラムは通常のWindows10でコーディングをして、実行は仮想環境のLinux(Windows10で作ったdockerのフォルダがそのままLinuxのフォルダに相互反映されます。

ここが不思議なところですが、仮想Linux上でフォルダを作ったりファイルを変更してもWindows10のファイルも変更されますし、Windows10のdockerプロジェクトで同じことをしても、仮想Linux上で反映されます。

これがdockerの凄いところですね。実行だけ仮想Linuxで、編集などは既存のWindows10の環境(VS Code)などが利用できる感じです。

 

こちらの動画の、Dockerをゲームのセーブデータに例える説明がとても分かりやすかったので、参考にしてみて下さい。