FreeBSDでDockerやってみた
この記事はFreeBSD Advent Calendar 2016の23日目の記事として公開されました。
はじめに
数年前まで私は、FreeBSDだいすきおじさんでした。Jailで仮想環境をたくさん作ったり、flavourを作ったり、flavourを管理するツールを作ったり1、ワンライナーでインストールしたり2……など、充実したFreeBSDライフを楽しんでいました。 しかし、Dockerという非常に便利なツールが現れました。DockerはLinuxでしか動作しませんが、非常にパワフルで簡単で、そして何より実用的でした。私はFreeBSDというOSが大好きではありましたが、その便利さには抗えず、結果的にFreeBSDから離れることとなってしまいました。。。
しかし、そう。今ではFreeBSDでもDockerは動くらしいのです。 (Docker - FreeBSD Wiki)
その答えを求め我々は南米へ……は飛ばずに、検証してみようと思います。
環境のセットアップ
仮想環境でFreeBSDを起動
2015年6月時点ではFreeBSD 11-CURRENT
が推奨されていたようですが、今では11.0-RELEASE
がリリースされていますので、こちらで検証します。
最近は仮想環境にHyper-Vを使っているので、今回はHyper-v用のVHDファイルをダウンロードしてきてそのまま利用することにします。
|
|
VHDファイルが解凍できたので、適当にHyper-Vへインポートします。
SSHサーバの起動
とりあえずネットワークにはDHCPを使うようにして、sshdを起動します。
最近は直接/etc/rc.conf
を編集するのではなく、sysrc
コマンドを使うものらしいです。
|
|
あとは/etc/sshd/sshd_conf
などを適当に設定してsshdを起動します。
sshでログインしましょう。
Dockerのインストール
公式サイトの内容(https://wiki.freebsd.org/Docker)に沿って進めます。
zfsの準備
|
|
結果
※再マウントするときはzfs mount zroot/docker
Dockerをセットアップ
Dockerのインストール
|
|
Bash利用のためにfdデバイスを作成
|
|
Dockerをサービス登録&起動
|
|
dockerのバージョン確認
|
|
Docker動かしてみる
Ubuntu
ひとまずUbuntuを。
|
|
|
|
いろいろ遊んでみます。
|
|
|
|
apt update
がエラーになる……
CentOS
そして、公式にも書いてあるCentOSを。
|
|
|
|
いろいろ遊んでみます。
|
|
|
|
FreeBSD
なぜかFreeBSDのコンテナもある
|
|
|
|
いろいろ遊んでみます。
|
|
|
|
Jenkins
遊んでばかりでもアレなので、最後にJenkinsの公式イメージをホストしてみます。
|
|
|
|
ああああああああ………もうちょい勉強が必要ですね。。。