支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

Dockerとは一体どういうものなのか簡単に解説し、その後実際にインストールする方法も紹介したいと思います。

dockerとは?

dockerとは、Docker社が開発しているコンテナ型の仮想環境を作成、配布、実行するためのプラットフォームです。DockerはLinuxのコンテナ技術力を生かしたもので、よく仮想マシンと比較されます。例えばVirtualBoxなどの仮想マシンでは、ホストマシン上でOSを動かし、その上でミドルウェアを動かしますが、dockerはホストマシンのカーネルを利用してプロセスやユーザなどを隔離することで、あたかも別のマシンが動いているかのような動きができるのです。そのため、軽量で起動や停止などが簡単にできてしまいます。つまり、コード化されたファイルを共有することで、どこでも誰でも同じ環境が作れる、作成した環境を配布しやすい、スクラップやビルドが簡単にできてしまう、などのメリットが挙げられます。

docker導入:MAC編

次にdockerのインストール手順を紹介します
パッケージ管理ソフトを使うことで簡単にインストールをできてしまいます。まずは、パッケージ管理ソフトをインストールします。
Homebrewというものですが次のコマンドをターミナルで実行するだけでOKです。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewインストール後次のコマンドでdockerフォーミュラを指定するとdockerがMACにインストールされます。
brew tap caskroom/cask
brew cask install virtualbox docker open /Applications/Docker.app
これで完了です。とても簡単ですね。

docker導入:windows編

次はwindowsでインストールする場合です。
widowsではChocolateyというパッケージ管理ソフトを使用します。
ターミナルを開き以下コマンドを入力してください。
PowerShellの場合→Set-ExecutionPolicy AllSigned; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
cmd.exeの場合→@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
その後cinst -y virtualbox docker docker-compose
これで完了です!

dockerをインストールするメリットとデメリット

メリット

上記のコマンドでdockerがインストールできたでしょうか?上記で説明したようなコマンドのみで簡単に環境構築ができてしまうのが、dockerのメリットの一つでしょう。またdockerを使えば自分のローカル環境に仮想サーバを構築でき、javaやphpでデータベースに接続することでCRUDシステムも作れます。仮想サーバを建てる方法はいくつもありますが、dockerは本格的な仮想サーバを実現できるのでおすすめです。クライアント側の言語しか扱ったことがなく、静的なwebページしか作ったことがない方やサーバー側の処理やデータベースとのやりとりを意識してコーディングしてみたい方などにおすすめのツールでもあります。是非一度dockerを自らの手でコマンドしインストール後立ち上げてみましょう。

デメリット

いいことばかりではなく、多少のデメリットもあります。例えば、dockerは同一のOSから複数のコンテナを作成するため、OStigaino検証は別のマシンまたは仮想マシンを使用しなければならないことです。また提供できるホストの種類が少ないことも挙げられます。widowsやmacで対応されているため、大きなカバーはされていますが、windowsServerには対応していないこともあります。その場合、DockerToolboxというツールをインストールしなければなりません。全くできないというわけではなく、必要なツールをインストールすれば問題はなさそうです。

最後に

いかがでしたでしょうか?dockerは簡単に本格的な仮想サーバを構築できてしまうので、CRUDシステムを構築したいという方やサーバー側の処理を学習したいという方は、是非一度自分で仮想サーバを構築し取り組んでみてはいかがでしょうか。