第24回 非Linux環境のDocker FreeBSDで実際に動かしてみると……古賀政純の「攻めのITのためのDocker塾」(2/7 ページ)

» 2016年06月15日 08時00分 公開

Docker on FreeBSDを試してみる

 それではFreeBSD 10.3を例に、Docker on FreeBSDを稼働させてみます。まずはホストOSを稼働させる物理サーバを用意し、FreeBSDをインストールします。FreeBSDは、対応しているハードウェアリストが掲載されていますので、事前に情報を入手しておきます。

 安定版の10.3のFreeBSDの入手先を掲載しておきます。

FreeBSD 10.3のISOイメージ入手先(※ISOファイルがダウンロードされます)


 入手したISOイメージをDVDメディアなどに焼き付けるか、物理サーバに搭載された遠隔管理チップの仮想DVDドライブにマウント後、電源を投入してDVDブートします。FreeBSDのインストール手順は割愛しますが、ディスクパーティションはZFSを選択しておきます。DockerではZFSファイルシステムを利用しますので、事前にOS領域をZFSパーティションで構成しておくと後の設定作業を若干短縮できます。インストーラ内でNICにIPアドレス、ゲートウェイ、DNSを設定し、OS起動後すぐにインターネットにアクセスできるようにしてください。

今回はFreeBSD 10.3のディスクパーティションをZFSで自動構成します

 FreeBSD 10.3をインストールできたら、OSを設定します。外部からSSH接続ができると作業は効率的ですので、SSHサービスを有効にしておきます。この作業はDockerの利用に必須ではありませんので、ローカルで作業する場合は不要です。


# vi /etc/rc.conf
...
sshd_enable=YES
...


# vi /etc/ssh/sshd_config
...
PermitRootLogin yes
...
PasswordAuthentication yes
...
# service sshd restart

 次に、DNSの参照先が正しく設定されているかどうか確認します。Dockerのパッケージの入手に、インターネット接続が必要です。以下は、DNSサーバが172.16.1.1の場合の記述例です。


# cat /etc/resolv.conf
...
nameserver 172.16.1.1
...
#

 FreeBSDにおいて、ZFSのカーネルモジュール「zfs.ko」がロードされているかを確認します。


# kldstat |grep zfs
 2    1 0xffffffff819bd000 2fc448   zfs.ko

 上記のように「xfs.ko」が表示されていれば、ZFSが利用できます。もし表示されていない場合は、カーネルモジュールが組み込まれていませんので、以下のコマンドで組み込みます。


# kldload zfs

 現時点でOSのディスクパーティションは、ZFSで構成されていますが、別途、Dockerを利用するためのZFSファイルシステムを作成します。本来なら、新たに物理的なHDDを追加し、そこにDocker用のファイルシステムを作成しますが、今回は簡易的な機能確認のため、OS領域に含まれる「/usr/docker」ディレクトリにZFSファイルシステムを作成して、そのファイル上でDockerを利用します。


# zfs create -o mountpoint=/usr/docker zroot/docker
# sysrc zfs_enable=YES
# grep zfs /etc/rc.conf
zfs_enable="YES"

 以上で、Dockerを利用するためのZFSファイルシステムが用意できました。

 本番環境ではOS領域とは別に、Docker用の物理ディスクを用意し、パーティションを割り当てるべきですが、今回は簡易的な機能確認のため、OS領域と同じディスクにDocker用のZFSファイルシステムを用意しました

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ