#注
Windows10 Homeだとできません!
7や10 Homeの場合VirtualBoxを使いましょう。
#動機
Dockerを導入する練習をやりたい!Rubyの開発環境に導入したい!と思ったのでやってみることにしました。
#Docker Desktop for Windowsをインストールする
DockerTopからDOCKER CEをインストール
会員登録終了後下記の通りインストールする
インストール中は特に設定を変えずにインストールします。
PowerShellで下記コマンドを実行してバージョンが表示されていればOKです。
> docker -v
Docker version 19.03.4, build 9013bf5
#Hyper-Vをインストールする
必ず管理者として実行してください
> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
終了後再起動します。
> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
[Windows の機能の有効化または無効化] から
[Hyper-V] を選択して、[OK] をクリックします。
#コンテナ作成
Docker DesktopからSettingsを選択
##Dockerイメージの導入(Ruby)
> docker pull ruby:2.5.3
導入できているか確認する
> docker image ls
###コンテナの作成
> 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"に記載されているディレクトリを切れば実行できます。
> mkdir C:\Users\user\Documents\src"
####再度実行!
> 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」でファイルを作成
> docker build [ディレクトリパス]
これで成功しました!
拡張子あり、ファイル名適当だと登録できませんでした。
#最後に
個人的にVagrantやVirtualBoxより設定しやすかったです。
これからどんどんDockerを使っていこうと思います!