参考: @syuiさんのDockerからGUIアプリとWineアプリを使う方法 - Qiita
日本語入力対応
- 既に日本語入力ができている ubuntu20.04上でこのdockerイメージを使うことを想定
run.sh
docker run -it --rm \
-e XMODIFIERS \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v `pwd`:/home/ubuntu/ \
tukiyo3/gui
firefox起動
sudo pkdadd.sh firefox
firefox
/usr/local/bin/pkdadd.sh
pkdadd.sh
apt-get update -qq \
&& apt-get install -yq $@ \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
- これを使ってパッケージをインストールすると容量がふくれなくて良いかと。
Dockerfile
Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
RUN echo 'apt-get update -qq && apt-get install -yq $@ && apt-get clean && rm -rf /var/lib/apt/lists/*' > /usr/local/bin/pkdadd.sh &&\
chmod +x /usr/local/bin/pkdadd.sh
# japanize
RUN \
# set timezone
ln -s -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime &&\
dpkg-reconfigure tzdata &&\
pkdadd.sh fonts-takao sudo &&\
# generate locale
locale-gen ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
# create user ubuntu. uid:gid=1000:1000
ENV USER ubuntu
ENV HOME /home/${USER}
RUN export uid=1000 gid=1000 &&\
echo "${USER}:x:${uid}:${gid}:Developer,,,:${HOME}:/bin/bash" >> /etc/passwd &&\
echo "${USER}:x:${uid}:" >> /etc/group &&\
echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers &&\
install -d -m 0755 -o ${uid} -g ${gid} ${HOME}
WORKDIR ${HOME}
# X
ENV DISPLAY :0.0
VOLUME /tmp/.X11-unix
VOLUME ${HOME}
USER ${USER}
# add packages
# RUN sudo pkdadd.sh firefox
#CMD /usr/bin/firefox
Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
RUN dpkg --add-architecture i386
RUN apt update
RUN apt install -y wine32 \
winetricks \
&& apt-get clean
ENV WINEARCH=win32
RUN winecfg
ENV DISPLAY=:1