_ [debian] WINE on Docker

wine 1.6 でしか動かないアプリ があって、wine を 1.6.2-20 から 2.0.x に上げられずに困ってたんだけど、どうせなら Docker に押し込んでやればいいと思ってやってみた。

FROM debian:jessie

ENV WINEDEBUG -all
ENV LANG ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
ENV XMODIFIERS "@im=uim"

ENV DEBIAN_FRONTEND noninteractive

RUN useradd -u 1001 -d /home/wine -m -s /bin/bash wine \
        && dpkg --add-architecture i386 \
        && apt-get update \
        && apt-get install -y --no-install-recommends \
                wine32:i386 \
                libwine:i386 \
                libwine-gecko-2.21 \
                locales \
                fontconfig \
                fonts-ipaexfont-gothic \
                fonts-ipafont-gothic \
                fonts-vlgothic \
                libfontconfig1:i386 \
        && apt-get clean \
        && rm -rf /var/lib/apt/lists/* \
        && echo "en_US.UTF-8 UTF-8" >  /etc/locale.gen \
        && echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen \
        && locale-gen

ENV HOME /home/wine
WORKDIR /home/wine
USER wine
ENTRYPOINT [ "/usr/bin/wine32" ]

これで

docker build -t wine32:1.6.2-20 .

して

docker run --rm \
    -e DISPLAY=$DISPLAY \
    -v /home/XXXX:/home/wine \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    wine32:1.6.2-20 \
    XXXX.exe

やれば動かせた。最初アプリのフォントを拾ってくれないと四苦八苦してたら、libfontconfig1:i386 をインストールすることがポイントだった。