【Windows10】Dockerの環境構築を分かりやすく解説する<後半>

この記事は約8分で読めます。

 

 

前回の記事

 

 

 

Docker for Windowsのダウンロード・インストール

 

まずWindowsでDockerを使用するためには、Hyper-Vが必要であるため、Hyper-VがインストールできないWindows10 homeではDockerを使用することができません。

 

 

Hyper-Vの有効化

 

Docker for WindowsはHyper-Vを利用します。無効となっている場合は有効にします。
コントロールパネルの[プログラム]⇒[Windowsの機能の有効化または無効化]から「Hyper-V」にチェックを付けます。
※設定を有効化するにはOSの再起動が必要です。

 

Hyper-Vを有効化できたら、次は以下のサイトからDocker for Windowsのインストーラーをダウンロードします

 

https://hub.docker.com/

 

 

Dockerのインストーラーを落とすためにはユーザー登録が必要なので、適当なメアドとパスワードでユーザー登録してください

 

そして、インストーラーをダウンロードしてDockerのインストールが完了したら。PCを再起動してください。

 

再起動してDockerを起動すると、タスクバーにDockerのクジラのアイコンを表示されていて「Docker is running」と表示されていればDockerのインストール後の起動は完了です。

 

起動確認ができたら、クジラのアイコンを右クリック⇒「sign ㏌」で、Dockerhubに登録したIDとパスワードを入力してください。

 

 

(おまけ)Docker起動時によくあるエラー

 

Docker for Windows – Requires log out

 

Docker for Windows – Requires log outというエラーメッセージが出ている場合も再起動すれば解消されます。

 

 

f:id:oruka199665:20200106112831p:plain

 

 

ユーザー設定変数 “ErrorActionPreference” または共通パラメーターが Stop に設定されている

 

Unable to stop – ユーザー設定変数 “ErrorActionPreference” または共通パラメーターが Stop に設定されているため、実行中のコマンドが停止しました。モジュール ディレクトリに有効なモジュール ファイルが見つからなかったため、指定されたモジュール ‘Hyper-V’ は読み込まれませんでした。

 

 

ESETなどのセキュリティソフトが邪魔している可能性アリ、セキュリティソフトを無効化してDockerを再起動すると解消される場合があります。

 

The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect.

 

hyper-Vが有効化が完了していないのが原因、CPUがIntel系だとBIOSを起動(PC起動中にF10などでアクセスできます)してBIOSの「Secirity」または「Advanced」(システムのバージョン等で場所が違います)から「仮想化テクノロジー (VTx)」を有効化する必要があります

 

the docker daemon is not running.

 

タスクバーに起動しているdockerを右クリックして「Switch to windows container」

に押すと解消されることがあります。他にもWSL系などで起動しているのが原因で起こることもあるみたいです。

 

https://qiita.com/Y-Kanoh/items/180e73c47970ea9bf5bc

 

no matching manifest for windows/amd64 10.0.18362 in the manifest list entries.

 

dockerのアイコンを右クリック⇒setting⇒Demon⇒basicをadvancedに変更

"experimental": true を定義して、 Apply

 

https://qiita.com/yuta_vamdemic/items/cf3eb8182a63a303c4f7

 

 

Dockerで仮想環境の構築(コンテナ作成)

 

いよいよDocker上で仮想環境を構築していきます。Dockerでは仮想環境のことを「コンテナ」といいます。

 

試し、Linuxの派生OSで最近人気のubuntuの仮想環境を構築してみます。Dockerでの環境構築はbash上で以下のコマンドを実行するだけです。

 

 

Dockerhubからコンテナを取得

 

$docker pull ubuntu

~
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest

 

 

コンテナの確認

 

Dockerに作成した環境は以下のコマンドを叩いて確認できます。

 

# Dockerの環境を確認する
$ docker images

 

 

↓みたいな結果になっていれば成功です。

 

REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 549b9b86cb8d 2 weeks ago 64.2MB
hello-world latest fce289e99eb9 12 months ago 1.84kB

 

コンテナが取得できたらそれを起動してみます。

 

# コンテナを起動
$docker run -it ubuntu bash

 

the input device is not a TTY.
If you are using mintty, try prefixing the command with ‘winpty’と出た場合はエラーメッセージの通り。先頭にwinptyをつければエラーとならずにコンテナに入ることができる。

 

 

# コンテナを起動
$ winpty docker run -it ubuntu bash


$ winpty docker exec -it my-container bash
$bash-4.2#

 

 

実行すればわかりますが、VirtualBOXなどと比較して環境構築(コンテナ作成)がとにかく早くて感動します。これはDockerが流行るのも納得って感じです。

 

ちなみにこれはDocker HubというGithubのDocker版から ubuntu の仮想環境をpull(引っ張る)しています。ほかにもDocker Hubには、CentOSや有志の作成した開発環境のコンテナがたくさんアップロードされています。

 

こういった点から複数人での開発などではDockerを使用することで開発環境の統一・管理が容易に行えるため、近頃Dockerは注目され始めています。

 

 

仮想環境から離脱する

 

コマンドプロンプト上からアクセスしているDockerのコンテナの仮想環境から抜ける方法は2つあります。

 

  • exit→ コンテナを停止して仮想環境から抜ける
  • Ctrを押しながらpとqを順番に押す→コンテナを起動したまま環境から抜ける

 

ここでは後述のため、「Ctrを押しながらpとqを順番に押す」方法でコンテナを起動したまま仮想環境から抜けます。root@~から$に戻っていれば成功です。

 

コンテナの稼働状況はdocker psコマンドで確認できます。

# コンテナの稼働状況を確認する
$ docker ps

 

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ec6a35e909e ubuntu “/bin/bash” 26 seconds ago Up 24 seconds hungry_khayyam

 

 

STATUSがUPになっているのが確認できます。

先ほどdettachしたubuntuコンテナに再度ログインするには、docker attach <CONTAINER IDまたはNAME>を実行します。

 

# コンテナIDからコンテナを起動する
$ docker attach 3ec6a35e909e

 

CONTAINER IDは起動するごとに変わります。

 

 

・参考資料

 

 

 

 

 

Dockerコンテナの作成、起動〜停止まで - Qiita
今回はDocker Hubからイメージを取得し、コンテナを作成した後に起動/停止といった一連の流れを行います。 1.イメージの確認 docker imagesコマンドを実行すると、Docker Machineに保存されているイメ...
【入門】はじめての Docker Desktop for Windows のインストールと CentOS の仮想環境構築のセットアップ - Qiita
【入門】はじめての Docker Desktop for Windows のインストールと CentOS の仮想環境構築のセットアップ 最近では、Linuxの環境を利用したいときに 無償の Docker Desktop (for...
Git for Windowsでdocker execをwinptyなしで実行する - Qiita
Docker for Windows + Git for Windows環境で、dockerコンテナに入るために、docker execコマンドを実行すると、以下のエラーとなった。 $ docker exec -it my-cont...

 

 

 

 

コメント

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