DockerでMT5を動かす方法

DockerでMT5を動かす方法

dockerfile

FROM ubuntu:16.10

RUN dpkg --add-architecture i386

RUN apt-get update -y
RUN apt-get install -y software-properties-common && add-apt-repository -y ppa:ubuntu-wine/ppa

RUN apt-get install -y wine1.8 winetricks xvfb curl wget zsh

RUN apt-get purge -y software-properties-common
RUN apt-get autoclean -y

RUN curl -sLO https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe
RUN echo "alias mt5='wine ~/.wine/drive_c/Program\ Files/MetaTrader\ 5/terminal64.exe'" >> ~/.zshrc
RUN echo -e "#!/bin/sh
wine ~/.wine/drive_c/Program\ Files/MetaTrader\ 5/terminal64.exe" >> ~/main.sh && chmod +x ~/main.sh

ENV HOME /root
CMD /bin/zsh
$ sudo docker build -t ubuntu:base .
$ sudo docker run -ti --rm \
    -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
    ubuntu:base
# wine mt5setup.exe
------------------------------------
# インストール終了後
$ sudo docker ps
$ sudo docker commit ${id} ubuntu:mt5
$ sudo docker run -ti --rm \
    -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
    ubuntu:mt5

Alpineでも少し頑張ったけど無理だった

ちなみに、Alpineでも少し頑張ったけど、難しかったのでやめた。

dockerfile

FROM alpine:latest

ENV DISPLAY :0
#ENV WINEARCH win32

RUN apk update && apk add alpine-desktop xfce4 cabextract alpine-base wine 

RUN apk add --no-cache xvfb curl wget zsh && \
ln -s /usr/bin/wine64 /usr/bin/wine && \
curl -sLO https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks && chmod +x winetricks && mv winetricks /usr/bin/winetricks

RUN echo 'root:root' |chpasswd
RUN adduser -S wineuser \
    && echo "wineuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
    && echo 'wineuser:wineuser' | chpasswd
USER wineuser

RUN cd && curl -sLO https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe
CMD /bin/zsh
$ sudo docker build -t alpine:base .
$ sudo docker run -ti --rm \
    -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
    alpine:base
# cd ;WINEPREFIX=~/.win64 wine mt5setup