1
1

More than 3 years have passed since last update.

Dockerをwindowsに設定する

Posted at

Windows10 Homeだとできません!
7や10 Homeの場合VirtualBoxを使いましょう。

動機

Dockerを導入する練習をやりたい!Rubyの開発環境に導入したい!と思ったのでやってみることにしました。

Docker Desktop for Windowsをインストールする

DockerTopからDOCKER CEをインストール
会員登録終了後下記の通りインストールする
InkedSnapCrab_Onboarding Tutorial - Google Chrome_2019-10-25_0-53-40_No-00_LI.jpgInkedSnapCrab_Explore - Docker Hub - Google Chrome_2019-10-25_0-54-56_No-00_LI.jpg
InkedSnapCrab_Docker Desktop for Windows - Docker Hub - Google Chrome_2019-10-25_0-55-13_No-00_LI.jpg
インストール中は特に設定を変えずにインストールします。

PowerShellで下記コマンドを実行してバージョンが表示されていればOKです。

PowerShell.(管理者)
> docker -v
Docker version 19.03.4, build 9013bf5

Hyper-Vをインストールする

必ず管理者として実行してください

PowerShell.(管理者)
> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

終了後再起動します。

PowerShell.(管理者)
> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

[Windows の機能の有効化または無効化] から
[Hyper-V] を選択して、[OK] をクリックします。

コンテナ作成

Docker DesktopからSettingsを選択

使用するドライブを選択する
SnapCrab_Settings_2019-10-25_1-24-41_No-00.png

"experimental": falseを下記へ変更
SnapCrab_Settings_2019-10-25_1-25-6_No-00.png

Dockerイメージの導入(Ruby)

PowerShell.(管理者)
> docker pull ruby:2.5.3

導入できているか確認する

PowerShell.(管理者)
> docker image ls

コンテナの作成

PowerShell.(管理者)
> docker container run -it --name [コンテナの名前] -p [ホストポート番号]:3000 -v [ディレクトリパス]:/var/www/ ruby:2.5.3 /bin/bash
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: Mount denied:
The source path "C:/Users/user/Documents/src"
doesn't exist and is not known to Docker.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'

エラーが発生しました…ssh側のディレクトリは自動的に作成してくれるんですが、Windows側のディレクトリは自分で切らなくてはならないそうです。
The source path "C:/Users/user/Documents/src"に記載されているディレクトリを切れば実行できます。

PowerShell.(管理者)
> mkdir C:\Users\user\Documents\src"

再度実行!

PowerShell.(管理者)
> docker container run -it --name [コンテナ名] -p [ホスト側ポート]:3000 -v [ディレクトリパス]:/var/www/ ruby:2.5.3 /bin/bash
Unable to find image 'ruby:2.5.3' locally
2.5.3: Pulling from library/ruby
hogehoge: Pull complete                                                                                                                                                                                         Digest: sha256:hogehoge
Status: Downloaded newer image for ruby:2.5.3
root@hoge> 

成功しました!!

Dockerfileを取り込む

拡張子無し、ファイル名「Dockerfile」でファイルを作成

PowerShell.(管理者)
> docker build [ディレクトリパス]

これで成功しました!

拡張子あり、ファイル名適当だと登録できませんでした。

最後に

個人的にVagrantやVirtualBoxより設定しやすかったです。
これからどんどんDockerを使っていこうと思います!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1