この記事で伝えたいこと
この記事で以下の2点をお伝えできればと思います!
1. よくDockerって聞くけど、Dockerって何なのか
2. Docker環境ってどうやってつくればいいのか
Dockerって何なの?
最近、機械学習関連の仕事をすることが多く、自分が開発したモデルを他の方に使ってもらおうとすると、環境が異なるため動作しなかったりすることがありました。
そんな時にDockerが役に立ちます!
アプリやその動作に必要な環境を「コンテナ」っていう箱に詰めて、どこでも同じように動かせるようにするツールです。以下の説明がわかりやすいので参考にしていただくと良いと思います。
語弊があるとは思いますが、、、
Dockerを使用していない状態では、Windows(OS)上でアプリケーションが作動しています。ただ、ここの環境をいちいち揃えるのは面倒。なので、動作環境を「コンテナ」という形にまとめて、扱いやすくしたツールがDockerです。ただ、DockerはLinux上でしか動かせないため、Windows上で動かすためには、少し工夫をする必要があります。
とにかくめちゃくちゃ便利なツールです。
Dockerをインストールする手順
ざっくりとした流れは以下の通りです。
1. WSL2をインストールする
2. WSL2上にLinuxをインストールし、起動する
3. Dockerをインストールする
この手順にしたがってインストールしていきます。
1.WSL2をインストールする
先ほども説明しましたが、DockerはLinux上でしか動作しないため、Windowsに直接インストールできません。
じゃぁ、どうするのかというと、Windows上でLinux環境を実行できるようにするのです。
そのシステムがWSLです。
今回はWSLの新しいバージョンである、WSL2をインストールします。
(WSL2は、WSLよりできることが多いのでこっちを使用しています)
C:\Users\hiro>wsl --install
コマンドプロンプトを開いて、「wsl --install」を入力。
すると、以下のような表示が出てきます。
インストール中: Ubuntu
Ubuntu がインストールされました。
Ubuntu を起動しています...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
ユーザーネームを入れるように指示されます。
適当なユーザー名を入れてください。(今回はhiroという名前にしました。)
Enter new UNIX username: hiro
New password:
Retype new password:
すると、次はパスワードを入れるように指示されるので、適当なパスワードを入れてください。これでwsl2のインストールは完了。
一度、コマンドプロンプトを閉じるなり、「Exit」と入力するなりして環境から抜けます。
2.Linux「Ubuntu24.04」をインストールし、起動する
WSLをインストールするとLinuxディストリビューションの1つである最新の「Ubuntu」が同時にインストールされます。このまま使用してもよいのですが、今回は、現在、インストールされているバージョンとは異なる「Ubuntu24.04」をインストールするしてみようと思います。wsl --list --online
を入力すると、インストールできるディストリビューションがでてきます。
ちなみにUbuntuの後に書かれている「LTS」はlong-term support(長期サポート)の略称です。5年間、無料のセキュリティアップデートおよびメンテナンスアップデートが保証されています。
C:\Users\hiro>wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
一番簡単な方法は「Microsoft Store」からインストールしちゃう方法です。
「Microsoft Store」で「Ubuntu-24.04」を探し、インストールすればOKです!
今回はコマンドプロンプトからインストールする方法でやります。
まず、今動いているディストリビューションをコマンドプロンプトにwsl -l -v
を入力して確認します。
C:\Users\hiro>wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
すると、「Ubuntu」が動いていますね。
「Ubuntu-24.04」をインストールするため、コマンドプロンプトに
wsl --install -d <ディストリビューション名>
を入力します。
C:\Users\hiro>wsl --install -d Ubuntu-24.04
インストール中: Ubuntu 24.04 LTS
Ubuntu 24.04 LTS がインストールされました。
Ubuntu 24.04 LTS を起動しています...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
先ほどと同じように、ユーザー名を入れるように指示されます。
そして、また同じようにパスワードを入力するように指示されます。
適当なものをいれてあげると、以下のように表示され、インストールが完了します。
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
これでLinuxをインストールできたので、次にLinuxを起動したいと思います!
WSLを通して、Linux(ディストリビューション)を起動する方法を2つお伝えします。
1. コマンドプロンプト上から起動する方法
2. アプリから起動する方法
1. コマンドプロンプト上から起動する方法
今動いているディストリビューションをコマンドプロンプトにwsl -l -v
を入力して確認します。
C:\Users\hiro>wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Ubuntu-24.04 Running 2
「Ubuntu」が動いていますね。
デフォルトで起動するディストリビューションを「Ubuntu-24.04」に変更するため、
wsl --set-default <ディストリビューション名>
をコマンドプロンプトに入力。
C:\Users\hiro>wsl --set-default Ubuntu-24.04
この操作を正しく終了しました。
動いているディストリビューションを確認すると、
C:\Users\hiro>wsl -l -v
NAME STATE VERSION
* Ubuntu-24.04 Stopped 2
Ubuntu Running 2
変わっていますね!これでOK!
コマンドプロンプト上でwsl
を入力。
C:\Users\hiro>wsl
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
hiro@MAIN:/mnt/c/Users/hiro$
これで起動完了です。
2. アプリから起動する方法
アプリから「Ubuntu 24.04」を選択し、クリック。
こんな感じの画面が出ればOK!
3.Dockerをインストール
WSL2 上で Docker を使用するには、Docker Desktop をインストールして WSL2 と統合する方法が最も簡単ですが、Docker Desktopは商用だと有料になっちゃうよ( ;ㅿ; )
という人のために、今回は、WSL2上に直接Docker Engineをインストールする方法をお伝えしたいと思います。
以下の手順でインストールします。
1.必要なパッケージをインストール
2.Docker GPG キーを追加
3.Docker リポジトリを追加
4.Docker をインストール
5.インストールできているか確認
1.必要なパッケージをインストール
以下のコマンドを起動したLinuxの画面に打ち込みます。
(全部下のDockerのHPに記載してある内容なので、詳細はそちらで確認してください)
sudo apt-get update
2.Docker GPG キーを追加
同じように、以下のコマンドを起動したLinuxの画面に打ち込みます。
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
3.Docker リポジトリを追加
同じように、以下のコマンドを起動したLinuxの画面に打ち込みます。
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
4.Docker をインストール
同じように、以下のコマンドを起動したLinuxの画面に打ち込みます。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5.インストールできているか確認
同じように、以下のコマンドを起動したLinuxの画面に打ち込みます。
sudo docker run hello-world
以上でDocker環境の構築は終了となります。
何か不明点あれば、コメント欄に記載いただければと思います。
参考記事