bhyve に alpinelinux を入れて、docker で遊ぶ。

FreeBSDネイティブの docker はまだか。 まだです。

ということで、これに手をつけだすと沼にはまりそうな気がするので保留して、軽量 Linux ディストリであるところのAlpineLinuxをインストールして、その上で Docker を動かすことにする。 まあ、これと言ってはまる要素はないはずだったのだが、はまったので記録として残しておくことに。

bhyve は素のままだとちょっとアレなので、vm-bhyve を使ってます。 vm/.template/alpine.conf をちょっと書き換えます。

loader="grub" cpu=1 memory=512M network0_type="virtio-net" network0_switch="public" disk0_type="virtio-blk" disk0_name="disk0.img" grub_install0="linux /boot/vmlinuz-lts initrd=/boot/initramfs-lts alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage,sr-mod" grub_install1="initrd /boot/initramfs-lts" grub_run0="linux /boot/vmlinuz-lts root=/dev/vda3 modules=ext4" grub_run1="initrd /boot/initramfs-lts"
いろいろ調べてみて、-vanilla になってるところを -lts に変更したのですが、以前 AlpineLinux インストールしたときは、ここを -virt に書き換えた記憶がある。 あとできちんと調べたほうがよさそう。Linux はブートまわりが全然わからん。 あとはこのテンプレをベースにメモリ2Gくらい盛ってあげてvmを作ります。
# vm create -t alpine -s 15G -m 2G -c 2 [VM名]
特に問題がなければすぐにvmが作られます。 AlpineLinux の iso は事前に落としておきましょう。新しい版がでたらアドレスは変わります。
# vm iso https://dl-cdn.alpinelinux.org/alpine/v3.13/releases/x86_64/alpine-standard-3.13.5-x86_64.iso
あとは普通にインストール作業です。
# vm install -f [VM名] alpine-standard-3.13.5-x86_64.iso
ごそごそとマシンが立ち上がって、ログインプロンプトが出てくるので、root でログイン。パスワード無しです。 setup-alpine を実行して、インストール作業を続行します。メッセージ見てこたえていくだけの簡単なお仕事。 最後までインストールしたら reboot を促されるので再起動します。 あっさり。

Docker と Docker-compose をパッケージからインストールするための下準備をします。 /etc/apk/repositories を編集します。

#/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/v3.13/main http://dl-cdn.alpinelinux.org/alpine/v3.13/community http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing
あたまのコメントを外すだけの簡単な作業です。 あとは普通に
# apk update # apk upgrade # apk add docker docker-compose sshfs
さっくり。 docker のサービスを動かします。スタートアップへの登録もしておきます。
# service docker start # rc-update add docker boot
あとで、sshfs も使うので modprobe fuse もしておきます。また /etc/modules-load.d/fuse.conf を新規に作成して中に fuse と一行書いておきます。

これで下準備はおっけーなので、さっそく docker を動かしてみましょう。

# docker run --rm hello-world
とりあえず、ここまで。 alpine.conf の書き換えがうまく行かなくていろいろ調べたけど令和三年の最新版はこれでっす。

タグ: AlpineLinux FreeBSD Bhyve Docker インストール