スライドショー

【初心者向け】DockerでCentOS7の環境を構築しよう!

CentOSの環境を作成したいというときにDockerを使うというのも最近では主流になってきていますよね。

手元にLinux機がない場合はこれまでは仮想マシンを用いることが多かったですが、近年はコンテナの一つであるDockerがよく用いらています。大コンテナ時代とも言われるほどなのでしっかりDockerを使えるようになっていきたいですね。

そこで本日は、

  • なぜDockerなのか
  • Dockerのどこが良いのか
  • DockerでCentOS7の環境を構築する

ということを詳しく解説していきます。途中でDockerコマンドなどについても詳しく説明していくのでDocker初心者でCentOSの環境を構築したいという方は是非参考にしていただければ幸いです!

なぜDockerなのか

それでは、最初になぜDockerなのか、Dockerとは何かということを簡単に説明していきましょう。Dockerも仮想環境を作る一つの技術ですが、VirtualBoxのような仮想マシンを作る必要はありません。コンテナという概念で、仮想環境を作っていきます。

わかりやすくVirtualBoxなどとの違いをあげると、仮想マシンは、ホストマシン上でゲストOSを動かし、その上でミドルウェアなどを動かすのに対し、コンテナはホストマシンのカーネルを利用し、ユーザやプロセスを切り離すことで仮想環境ができているように見せるものです。

もっとわかりやすくいうと、仮想マシンは、ホストマシン上で頑張って他のOSを動かすのに対し、コンテナはカーネルを利用してサーバごとにプロセスなどを隔離するということです。

つまり、コンテナはOSを複数のサーバが共通して利用するため軽量で起動や停止が高速というメリットがあります。詳しくわからない方は今は、Dockerは軽くて早くてイケてるんだな、くらいに思っておいても良いでしょう。

CentOS7の環境を構築しよう

さて、それでは実際に環境を構築していきましょう。サクッと構築できるので仮想マシンなどとは違って便利ですね。

イメージの取得

まずは元となるイメージを取得します。仮想マシンとは違いISOファイルをDLする必要はなくDockerコマンドを使ってCentOSのDockerイメージを入手します。

具体的にはdocker pullコマンドを使います。docker pull の後に欲しいイメージを入れるので今回でdocker pull の後に欲しいイメージを入れるので今回であれば以下のようにしましょう。

docker pull centos:centos7
centos7: Pulling from library/centos
a02a4930cb5d: Pull complete
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:centos7

仮想マシンのISOイメージとは違いすぐpullできますね。

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              centos7             1e1148e4cc2c        2 months ago        202MB
ubuntu              18.04               93fd78260bd1        3 months ago        86.2MB

docker imagesコマンドで、取得したイメージが表示できるのでcentosが入っていることを確認しましょう。

コンテナの作成

Dockerイメージをpullしてきたところで、次はコンテナの作成を行なっていきます。コンテナの作成にはdocker runコマンドを使います。ちなみに、作成すると自動で起動します。

今回は、オプションをつけて、以下のコマンドで実行しましょう。

docker run -it -d --name mycentos centos:centos7

オプションの説明をします。

  • it: ターミナルでコンテナを実行できる
  • d: デーモンの略でバックグラウンドでコンテナを実行する
  • name: コンテナに名前をつける(本コマンドではmycentos)

これらは全てよく使うオプションですのでrunコマンドとセットで覚えてしまいましょう。起動中のコンテナを確認するためにdocker psコマンドを利用しましょう。

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
84d8a969e2e7        centos:centos7      "/bin/bash"         33 seconds ago      Up 32 seconds                           mycentos

このようにmycentosが立ち上がっていることが確認できますね。実際にコンテナを操作するには、docker execコマンドを利用します。

今回はmycentosのbashを実行するので以下のコマンドを叩いてみましょう。

docker exec -it mycentos /bin/bash
[[email protected] /]#

するとこのように、CentOSのシェルに入れましたね。バージョンを見てみると以下のようにきちんとCentOS7が入っています。

[[email protected] /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION=“7"

コンテナの停止

次はコンテナの停止を見てみましょう。停止にはdocker stopコマンドを使います。

docker stop mycentos

ほんとに止まったか確認して見ましょう。

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

このように、何も起動していませんね。ちなみにdocker psにaオプションをつけると停止したコンテナを確認できます。

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
84d8a969e2e7        centos:centos7      "/bin/bash"         8 minutes ago       Exited (137) 56 seconds ago                       mycentos

きちんと表示されますね。

コンテナの起動

先ほどはdocker runで作成と起動を同時に行いましたが、一度作成したコンテナはdocker startコマンドで起動させます。

docker start mycentos
docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
84d8a969e2e7        centos:centos7      "/bin/bash"         9 minutes ago       Up 5 seconds                            mycentos

きちんと起動していますね。

まとめ

いかがでしたでしょうか? 仮想マシンとは比べ物にならないほど早く環境を構築することができたのではないでしょうか?Dockerは今流行りの技術ですので、コマンドや概念などをしっかり理解して使えるようにしておきましょう!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

かい

かい

日向徹かこよすぎか

[email protected]