目的
alpineベースでサイズが小さいminidlnaイメージを作りたい
alpineベースでイメージを作る
alpineのapkにminidlnaパッケージがあるのでらくちん
alpineのedgeとstable(3.3)でminidlnaのバージョンにほとんど差がなさそうなのでstableを使います
https://pkgs.alpinelinux.org/packages?name=minidlna&branch=&repo=&arch=&maintainer=
Dockerfileはこんな感じで、minidlnaのインストール、設定ファイルのマウント、minidlnaの起動をしてます
FROM alpine:latest
# install minidlna
RUN apk --update add minidlna && rm -rf /var/cache/apk/*
# Add config file
ADD conf/minidlna.conf /etc/minidlna.conf
CMD minidlnad -d
ADD conf/minidlna.conf /etc/minidlna.conf
で指定したminidlnaのconfigはこんな感じ
メディアファイルはvideoだけ指定していますが、必要ならaudio、picturesも設定しましょう
このページはarch用のminidlnaの説明ですがalpineでも参考になります
user=minidlna
media_dir=V,/var/lib/minidlna/videos
db_dir=/var/cache/minidlna
log_dir=/var/log
port=8200
friendly_name=Alpine DLNA Server
serial=681019810597110
inotify=yes
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
strict_dlna=no
enable_tivo=no
notify_interval=895
起動はこんな感じ
$ docker build -t minidlna:alpine Dockerfile
$ docker run -d --name minidlna \
--net=host \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /HOST_VIDEO_DIR:/var/lib/minidlna/videos \
minidlna:alpine
VLCやPS3でvideoファイルの再生が問題なくできました
Ubuntuとのサイズ比較
試しにUbuntu16.04ベースのイメージも作ってサイズを比べるとこんな感じ
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu-minidlna latest 70fbfbdeba9b 13 minutes ago 318.7 MB
alpine-minidlna latest cd59ae61d3d6 2 minutes ago 49.42 MB
320MBから50MBなのでかなり減ります
こんなに差があると積極的にalpineベースに変えていきたいですね