DockerをWindows10で使う

DockerをWindows10で使う

Windowxs 10 + Docker Desktop for Windows

Dockerを使うとコンテナ(アプリケーションと実行環境がセットになった感じのやつ)が扱える。
コンテナ上でアプリケーションを動かす手法は、従来の本体にインストールする手法に比べてメリットが大きい。

コンテナ従来の方法
新アプリ導入時すぐ動くいろいろエラーが出て終わり
環境汚れない汚れて終わり
別環境に移転容易に移せるめんどくさくて終わり

なのでWindowsにDockerを導入する。
「Docker Desktop for Windows」を用いて導入。
その後 Hello World! 動作確認する。

1. 事前準備

1.1 OS

「Docker Desktop for Windows」を使うために必要な唯一の条件は、OSが「Windows 10 Pro」であること。
「Windows 10 Home」だとだめ。14,000円くらい払ってProにアップグレードしなければ使えない。

1.2 不要なもの

ネットで調べると事前準備として、

  • Hyper-Vの有効化
  • Docker IDの取得

などと出るがどちらも不要。多分昔は必要だった。

2. インストール

DockerDesktopのダウンロードサイトからインストーラーをダウンロード。



Windowsの「Stable」を選択。

入手した「Docker Desktop Installer.exe」を起動。
Windows Proじゃないと多分ここでエラー。



上のチェックを入れるとHyper-V(Windowsの持つ仮想化機能)を有効化してくれる。
必要。
下のチェックを入れるとショートカットを作ってくれる。
どちらでもいい。


インストールが終了。
「Close and restart」 を押すと再起動する。



再起動後、なんか出てくる。
無視してコマンドプロンプトを起動。

1
docker -v

と打ってDocker version 19.03.8, build afacb8bのようにバージョンが表示されたらOK。

3. Hello World

Dockerがちゃんと動くか試す。

3.1 hello-worldのコンテナ作成

1
docker pull hello-world

と打つと、hello-worldのイメージがダウンロードできる。

1
docker images

と打つと、手元にあるDockerイメージの一覧が表示される。

1
2
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world latest bf756fb1ae65 5 months ago 13.3kB

さっきhello-worldというレポジトリからダウンロードされたイメージがある。

1
docker create hello-world

と打つと、さっきダウンロードしたイメージからコンテナが作られる。

1
docker ps -a

と打つと、手元にあるコンテナの一覧が表示される。
-aall。これを付けないと今動いているコンテナしか表示されない。

1
2
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b44acb8643e6 hello-world "/hello" 3 seconds ago Created charming_agnesi

hello-worldのイメージから作られた、IDがb44acb8643e6、名前がcharming_agnesiのコンテナがある。

3.2 hello-worldのコンテナ実行

1
docker start b44acb8643e6

と打つとさっきのコンテナが起動する。
ID(b44acb8643e6)の代わりに、名前(charming_agnesi)でも良い。

1
docker logs b44acb8643e6

と打つとコンテナのログが表示される。

1
Hello from Docker!

から始まる長文が出てきたらうまくいってる。

3.4 Docker run

今までに行った、

1
2
3
docker pull hello-world
docker create hello-world
docker start コンテナID

までの一連の流れは、

1
docker run hello-world

だけで全部実行できる。
実行ログもそのまま表示される。

3.4 hello-worldのコンテナ消去

1
docker rm b44acb8643e6

でコンテナを消去。

1
docker rmi hello-world

でイメージを消去できる。

タグ

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×