みなさんこんにちは!大コンテナ時代とも言われる現代ですが、その代表格ともいえるDockerを使いこなしていますか?
Ubuntu環境を作りたいけど、仮想環境とか割と手間だしサクッとDockerで作りたいなと思っている方はいませんか?今日はそんな方達のために、
- Dockerとは
- Dockerのインストール
- DockerでUbuntu18.04を構築する
というように、基礎的なところから詳しく説明していこうと思います。最新版のUbuntuを構築したいという方にも大変おすすめですので是非参考にしてみてください!
Dockerとは
Dockerとはコンテナ型と呼ばれる仮想環境を作ることで、他OSを作ることができます。
仮想環境を作るものとしては、他にもVirtualBoxやVagrantがあり、それらは通常ホストOS型と言われる仮想環境になります。それらの違いは、簡単に言えば、Dockerの方が軽量です。
Vagrantなどは、仮想的なハードウェアに直接OSをインストールするため余計なプロセスを実行する必要があり、メモリも多く使い、起動も遅いです。しかしDockerはホストOSから直接実行できるため、軽量ということです。
現代では、仮想環境の構築では段々ホストOS型からコンテナ型に移行されてきていてDockerを習得することはエンジニアにとって必須の知識となりつつあります。
Dockerをインストールしよう
それでは、実際にDockerをインストールしていきましょう。本記事はMacを題材に進めていきますが、基本的にはWindowsでも変わらないのでよしなに対応していただければ問題なくインストールできるかと思います。
まずは以下の公式サイトからDownload from Docker Storeより、ダウンロードしてください。Windowsの方は左側のDocker for Windowsを選択しましょう。
docker docs
また、Dockerのアカウントを持っていないかたは、
このように、Please Login To Downloadとでるので、クリックしてアカウントを作成してください。このアカウントはDockerを利用する上で使うので必ず情報を控えておいてください。
ログインされていたらこのようにGet Dockerになっているので、ダウンロードしてください。ダウンロードされたら起動しましょう。
Macであれば、このようにクジラのマークが出て入れば起動できています。念のため、ターミナルで
docker version
このように入力し、
Client: Docker Engine - Community Version: xxx API version: xxx Go version: xxx Git commit: xxx Built: xxx OS/Arch: xxx Experimental: xxx
きちんと確かめられることを確認しましょう。
なぜUbuntu18.04?
さて、本記事では、実際にUbuntu18.04を導入していくわけですが、なぜ18.04なのでしょうか。Ubuntuを導入する時、どのバージョンにしようか、最新版はどれだろうか、と考えることも多いですよね。
ネットに出ている情報では現在は16.04が圧倒的に多いですが、はっきりいって16.04はもう古いです。古いと言っても全然使えるのですが、せっかく新しくいれるのに16.04を入れる必要性はありません。(情報が多いという点では有利ですが)
現在出ている最新でかつ安定してるものはUbuntu18.04なので、迷っている方はこちらを入れておけば間違いありません。
DockerでUbuntu18.04を構築しよう!
さて、それでは実際にUbuntu18.04の環境を作っていきましょう。Dockerで環境を作るにはDockerイメージというものを使います。Dockerイメージとは、それに必要なものを書いておくとそれを元に環境を立ち上げてくれるというものです。
このDockerイメージの手軽さや環境の移植性もDocker人気の要因の一つですね。
イメージを取得しよう
イメージは一から自分で書いてもいいのですが、Ubuntuではすでに用意されているものを使う方が得策なのでそうしましょう。Dockerイメージは以下のdocker hubというサイトに色々あるので好きなものを見てみると良いでしょう。
docker hub
Docker Hubからイメージを引っ張ってくるコマンドはdocker pullです。今回はUbuntu18.04を利用していくので、ターミナルで、
docker pull ubuntu:18.04
と打つと、イメージをプルしてこれます。しばし待ちましょう。
docker images
で取得したイメージ一覧を確認できるので18.04があることを確認しましょう。
イメージを使ってみよう
それでは、実際にこのイメージを使っていきます。イメージを走らせるコマンドはdocker runです。
docker run -it -d --name my-ubuntu ubuntu:18.04
としてイメージを走らせます。「-it」はおまじないです。「-d」はデーモンの略でコンテナをバックグラウンドで起動させます。「–name」でコンテナに名前をつけられるので今回はmy-ubuntuにしました。
docker psで現在起動中のコンテナを確認できるので、行いましょう。
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9e16f79fe64b ubuntu:18.04 "/bin/bash" About a minute ago Up About a minute my-ubuntu
Up About a minute my-ubuntuということからきちんと起動されていることがわかります。「”/bin/bash”」にbashがあるということも確認できたので、実際に使ってみましょう。コンテナ内のコマンド実行にはdocker execを使います。
docker exec -it my-ubuntu /bin/bash root@9e16f79fe64b:/#
このようにしてあげると、Ubuntu18.04のrootに入ることができました。lsコマンドで中を除いてあげると、
root@9e16f79fe64b:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
仮想環境が構築されていることが改めて確認できますね。docker stopでコンテナを停止できるので、exitなどでUbuntuのshellから抜けて
docker stop my-ubuntu
をするとコンテナがストップします。
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9e16f79fe64b ubuntu:18.04 "/bin/bash" 8 minutes ago Exited (0) 12 seconds ago my-ubuntu
「Exited (0) 12 seconds ago my-ubuntu」からエグジットしたことが確認できますね。
まとめ
いかがでしたか。dockerの導入からUbuntu18.04の構築まで行ってきました。dockerは実際の現場でも多く使われているスキルですのでぜひマスターしておきましょう!それでは!!