こんにちは。Web業界8年目のmacco(まっこ)です。
「最近よく聞くDockerってなに?」「便利そうだけど、難しそうでなかなか手がつかない」といった人向けに、Dockerの導入方法を全2回に分けて解説します。
※注意
Windows 10 Home editionにVirtualBoxを入れてDockerを動かすことを目的とした記事になりますので、違う方法やMacの人は他の方の記事をご参照ください。
本記事は第1回目として「VirtualBoxの導入方法」を解説します。
道のりが長いので、最後までお付き合いいただければ幸いです。
Virtual Boxを用意する
まずVirtual Boxを公式サイトからダウンロード、インストールを行います。
以下の公式サイトからダウンロードできます。
初期セットアップは、特に項目の設定を変更する必要がありませんので、デフォルトのまま最後まで進めましょう。

インストーラーを実行します。
画像のとおり進めていきましょう。






インストールが終わると、以下の画面が表示されます。

CentOS 7のイメージを用意する
次にCentOS 7のディスクイメージを公式サイトからダウンロードします。
以下のURLからダウンロードしてください。
http://ftp.iij.ad.jp/pub/linux/centos/7.8.2003/isos/x86_64/

VirtualBoxに仮想マシンを作成する
VirtualBoxを起動します。
「新規」をクリックします。

名前に「CentOS7」を入力します。
「次へ」をクリックします。

メモリーサイズはデフォルトの「1024MB」を指定して、「次へ」をクリックします。

ハードディスクはデフォルトの「仮想ハードディスクを作成する」を指定して、「作成」をクリックします。

ハードディスクのファイルタイプはデフォルトの「VDI(VirtualBox Disk Image)」を指定して、「次へ」をクリックします。

物理ハードディスクにあるストレージは「固定サイズ」を指定して、「次へ」をクリックします。

仮想ハードディスクのサイズは「20.00GB」(20ギガバイト)を指定して、「作成」をクリックします。

仮想マシンの作成が終わると、以下の画面が表示されます。

CentOS 7を起動する
「起動」をクリックします。

右下にあるフォルダアイコンをクリックし、先ほどダウンロードした「CentOS 7のイメージファイル」を追加します。



「起動」をクリックします。

インストール画面が表示されますので、Enterキーを押すとインストールが開始されます。

言語は「日本語」を指定して、「続行」をクリックします。

システムの「インストール先」をクリックします。

「完了」をクリックします。

「インストールの開始」をクリックします。

「ROOT パスワード」をクリックして、パスワードを設定します。

インストールが完了したら「再起動」をクリックします。

login:に「root」を入力してEnterキーを押します。
Password:は先ほどROOTパスワードで決めた値を入力してEnterキーを押します。
成功するとログインした状態になり、#が表示されます。

ネットワークを設定する
仮想マシン(CentOS 7)のネットワークを設定します。
今回はNATとホストオンリーアダプターの設定を行うことで、以下のネットワークが許可されます。
- ホストマシン(Windows10 home)から仮想マシン(CentOS 7)に接続できる
- 仮想マシン(CentOS 7)から外部ネットワークに接続できる
ファイルの中から「ホストネットワークマネージャー」を選択します。
「作成」をクリックします。

新しく追加された「VirtualBox Host-Only Ethernet Adapter #2」をダブルクリックします。

「アダプターを手動で設定」を選択します。
IPv4アドレスの内容は後で使うのでメモしておきましょう。
※IPv4ネットマスクは念のため
「閉じる」をクリックします。

CentOS7を選択し、「設定」をクリックします。

「ネットワーク」をクリックします。
「アダプター2」をクリックします。
「ネットワークアダプターを有効化」をチェックします。
割り当てから「ホストオンリーアダプター」を選択します。
名前から先ほど新しく設定した「VirtualBox Host-Only Ethernet Adapter #2」を選択します。
「OK」をクリックします。

仮想マシン(CentOS7)を起動し、rootでログインします。
以下のnmtui(NetworkManager)コマンドを実行します。
# nmtui

「Edit a connection」を選択してEnterキーを押します。

「enp0s3」を選択してEnterキーを押します。

IPv6 CONFIGURATIONの<Automatic>から<Ignore>に変更します。
Automatically connectをチェックします。
※スペースキーを押すとチェックできます。
「OK」を選択してEnterキーを押します。
これでNAT側の設定は完了です。

次に「■■■■ 1」を選択してEnterキーを押します。
※文字化けしていますが、「enp0s8」になります。

Profile nameに「enp0s8」を入力します。
IPv4 CONFIGURATIONの<Automatic>から<Manual>に変更します。
IPv4 CONFIGURATIONの右側にある「Show」を選択してEnterキーを押します。
Addressesに先ほどメモしたIPv4アドレスを入力して末尾に/24を付けます。
(今回の例は192.168.160.1/24)
IPv6 CONFIGURATIONの<Automatic>から<Ignore>に変更します。
Automatically connectをチェックします。
※スペースキーを押すとチェックできます。
「OK」を選択してEnterキーを押します。

「Back」を選択してEnterキーを押します。

「Quit」を選択してEnterキーを押します。

以下のコマンドを実行して設定を反映させます。
# systemctl restart NetworkManager
# systemctl restart network
最後にCentOS 7にSSH接続するためにポートフォワーディングの設定を行います。
VirtualBoxの仮想マシン(CentOS7)を選択して「設定」をクリックします。
「ネットワーク」を選択して、「アダプター1」をクリックします。
「高度」のなかにある「ポートフォワーディング」をクリックします。

右上にあるアイコンをクリックして、新たなポートフォワーディングルールを追加します。
プロトコル:TCP
ホストポート:22
ゲストポート:22
「OK」をクリックします。

あとはPingコマンドで外部ネットワークに接続できるか、また仮想マシン(Cent OS7)にSSH接続できるかを確認すればOKです。
参考までに以下Pingコマンド実行時の結果、およびipコマンド実行時の結果を貼っておきます。
Googleのサイトに対してpingコマンドで疎通できるかを検証

ipコマンドでルートの経路を確認
「192.168.160.0/24」のルートが確保されている

最後に
今回は第1回目ということで、VirtualBoxの導入からネットワーク設定まで解説してきましたが、いかがでしたでしょうか。
検索すると情報はあるのですが、なかなか実現するための決定的な記事は見つかりにくいといった印象でした。
第2回目では仮想マシン(CentOS 7)にDockerを導入していきたいと思います。
最後までお付き合いいただきありがとうございました。
第2回目の記事はこちらをご覧ください。