初心者が仮想マシンCentOSにDockerをインストールしてテストイメージを実行するまでの手順

こんにちは、小吉です。

システムエンジニアとして活動しておりますが、今までDockerに触れる機会がありませんでした。

今後の現場次第では、Dockerを使うこともあろうかと思い、プライベートな時間を使い、勉強のため、無償版のDocker CE(以後、Docker)をインストールして触ってみましたので、そのときの手順を備忘録がてら共有しようと思います。

ざっくり言うと、Windows 10のマシンにVMware Workstation Playerで仮想マシンを作成し、CentOSをインストールした上で、そのCentOS上にDockerをインストールして、テストイメージの実行までしてみました。

なお、DockerのインストールはDocker Documentationを参考に進めました。

環境
・Windows 10 Home 64ビット
使用ソフト
・VMware Workstation Player
・ターミナルソフト(Tera TermやPuTTY)

OSの用意

DockerはLinux, MacOS, Windowsと幅広いOSで利用可能ですが、今回は使い慣れた、かつ無償で試せるCentOSを使いたいと思います。

OSイメージの取得

Docker Documentationには、CentOS 7を使え、とあるので、こちらからCentOS 7のisoイメージをダウンロードします。

ちなみに私は、[DVD ISO]->ftp.riken.jpのサイトを選択してダウンロードしまし。

VMware Workstation Playerのインストール

商用でなければ無償で利用できるVMware Workstation Playerをダウンロードしてインストールしておきます。インストール手順は本記事のテーマから逸れるため、ここでは割愛します。

仮想マシンの作成

  • VMware Workstation Playerを起動します。
  • [ファイル]->[新しい仮想マシン]から、新しい仮想マシンのウィザードを開きます。
  • ”インストーラディスクイメージファイル”に、ダウンロードしたCentOS 7のisoファイルを選択して、次へをクリックします。
  • フルネーム、ユーザー名、パスワード、確認、をそれぞれ記入し次へをクリックします。
  • 仮想マシン名を記入し次へをクリックします。
  • ディスク最大サイズを設定し、その他はデフォルトのまま次へをクリックします。
  • 完了をクリックします。すると、勝手に仮想マシンが起動し、CentOSのインストール完了までやってくれます。

SSHログイン

リソース的にVMware のGUIだともっさりする事もあるので、SSHログインしてコマンドで操作できるようにします。

  • VMwareのGUIでCentOSにログオンして、[Applications]->[Favorites]->Terminalで、ターミナルを開きます。
  • ifconfigを実行してIPアドレスを確認します。
  • Windows上でターミナルソフト(Tera TermやPuTTY)を立ち上げ、確認したIPアドレスで接続します。
  • インストール時に指定したユーザー名とパスワードでログインします。

Dockerのインストール

事前にログインユーザにsudo権限を付与しておいてください。その方法はWebに転がっているため割愛します。

リポジトリのセットアップ

必要パッケージをインストールします。

$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

リポジトリを登録します。

$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

インストール

$ sudo yum install docker-ce docker-ce-cli containerd.io

最新バージョンのDockerがインストールされます。
本記事執筆時点では、18.09がインストールされました。

Dockerを触る

起動

$ sudo systemctl start docker

テストイメージを実行

$ sudo docker run hello-world

以下出力があれば実行が成功しています。

Hello from Docker!
This message shows that your installation appears to be working correctly.

コンテナ一覧を表示

$ sudo docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed96e90f28df hello-world "/hello" 6 minutes ago Exited (0) 6 minutes ago vigilant_wiles