ラベル AdoptOpenJDK の投稿を表示しています。 すべての投稿を表示
ラベル AdoptOpenJDK の投稿を表示しています。 すべての投稿を表示

2020年3月8日日曜日

DockerでyEdとAdoptOpenJDKとXfceデスクトップ環境とTigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

yEdはVisioのような図を描画できるアプリケーションです。

〇yEdの画面
VNCクライアントから接続するときにパスワードにubuntuを指定します。

〇イメージのビルド
docker build --no-cache -t ub1804vncxfceyed .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      xubuntu-desktop \
      xfce4-terminal \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
      unzip \
      fonts-vlgothic \
  && cd /opt \
  && wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz \
  && tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk-11.0.6+10' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk-11.0.6+10/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.6+10/bin/javac 2000 \
  && wget https://www.yworks.com/resources/yed/demo/yEd-3.19.1.1.zip \
  && unzip yEd-3.19.1.1.zip \
  && mv  yed-3.19.1.1 /opt/yed \
  && echo '[Desktop Entry]' >> /usr/share/applications/yed.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/yed.desktop \
  && echo 'Type=Application' >> /usr/share/applications/yed.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/yed.desktop \
  && echo 'Exec=/usr/bin/java -jar /opt/yed/yed.jar' >> /usr/share/applications/yed.desktop \
  && echo 'Icon=/opt/yed/icons/yicon32.png' >> /usr/share/applications/yed.desktop \
  && echo 'Name=yEd' >> /usr/share/applications/yed.desktop \
  && echo 'Categories=Utility;Development;' >> /usr/share/applications/yed.desktop \
  && apt-get -y remove --purge light-locker blueman \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec startxfce4' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub1804vncxfceyed

2020年2月3日月曜日

DockerでEclipseとXfceデスクトップ環境とTigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

EclipseはオープンソースのIDEです。

〇Eclipseの画面
VNCクライアントから接続するときにパスワードにubuntuを指定します。

〇イメージのビルド
docker build --no-cache -t ub180vncxfceeclipse201912 .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      xubuntu-desktop \
      xfce4-terminal \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
  && cd /opt \
  && wget 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz' \
  && tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk8u242-b08' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk8u242-b08/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk8u242-b08/bin/javac 2000 \
  && wget http://ftp.jaist.ac.jp/pub/eclipse/technology/epp/downloads/release/2019-12/R/eclipse-java-2019-12-R-linux-gtk-x86_64.tar.gz \
  && tar xvfz eclipse-java-2019-12-R-linux-gtk-x86_64.tar.gz \
  && echo '#!/usr/bin/env xdg-open' >> /usr/share/applications/eclipse.desktop \
  && echo '[Desktop Entry]' >> /usr/share/applications/eclipse.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/eclipse.desktop \
  && echo 'Type=Application' >> /usr/share/applications/eclipse.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/eclipse.desktop \
  && echo 'Exec=/opt/eclipse/eclipse' >> /usr/share/applications/eclipse.desktop \
  && echo 'Name=eclipse' >> /usr/share/applications/eclipse.desktop \
  && echo 'Categories=Development;' >> /usr/share/applications/eclipse.desktop \
  && echo 'Icon=/opt/eclipse/icon.xpm' >> /usr/share/applications/eclipse.desktop \
  && apt-get -y remove --purge light-locker \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec startxfce4' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub180vncxfceeclipse201912

2020年1月28日火曜日

DockerでPentaho Data Integration CE 8.3とAdoptOpenJDK、Xfceデスクトップ環境、TigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

Pentaho Data IntegrationはオープンソースのETLツールです。

〇Pentaho Data Integrationの画面
VNCクライアントから接続するときにパスワードにubuntuを指定します。

〇イメージのビルド
docker build -t ub1804vncxfcepdice83 .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      xubuntu-desktop \
      xfce4-terminal \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
  && cd /opt \
  && wget 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz' \
  && tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk8u242-b08' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk8u242-b08/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk8u242-b08/bin/javac 2000 \
  && wget 'https://sourceforge.net/projects/pentaho/files/Pentaho%208.3/client-tools/pdi-ce-8.3.0.0-371.zip' \
  && unzip pdi-ce-8.3.0.0-371.zip \
  && echo '[Desktop Entry]' >> /usr/share/applications/pdice83.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/pdice83.desktop \
  && echo 'Type=Application' >> /usr/share/applications/pdice83.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/pdice83.desktop \
  && echo 'Exec=/opt/data-integration/spoon.sh' >> /usr/share/applications/pdice83.desktop \
  && echo 'Name=Pentaho Data Integration CE' >> /usr/share/applications/pdice83.desktop \
  && echo 'Categories=Development;' >> /usr/share/applications/pdice83.desktop \
  && apt-get -y remove --purge light-locker \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec startxfce4' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub1804vncxfcepdice83

2019年10月30日水曜日

DockerでRobocodeとKDEデスクトップ環境とTigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

Robocodeは、プログラムでコントロールする戦車が戦うゲームです。Javaや.netを使用するプログラム言語を学ぶことができます。

〇Robocodeの画面

VNCクライアントから接続するときにパスワードにubuntuを指定します。

イメージのビルド

docker build --no-cache -t ub1804vnckderobocode .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      kubuntu-desktop \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
      sudo \
  && cd /opt \
  && wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz \
  && tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk-11.0.4+11' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk-11.0.4+11/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.4+11/bin/javac 2000 \
  && mkdir -p /opt/robocode \
  && cd /opt/robocode \
  && wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.4/robocode-1.9.3.4-setup.jar' \
  && /opt/jdk-11.0.4+11/bin/jar xvf robocode-1.9.3.4-setup.jar \
  && chmod +x /opt/robocode/robocode.sh \
  && echo '[Desktop Entry]' >> /usr/share/applications/robocode.desktop \
  && echo 'Type=Application' >> /usr/share/applications/robocode.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/robocode.desktop \
  && echo 'Name=Robocode' >> /usr/share/applications/robocode.desktop \
  && echo 'GenericName=Tank AI programming game for Java and .NET' >> /usr/share/applications/robocode.desktop \
  && echo 'Comment=Build the best - destroy the rest!' >> /usr/share/applications/robocode.desktop \
  && echo 'Icon=/opt/robocode/desktop/robocode.png' >> /usr/share/applications/robocode.desktop \
  && echo 'Exec=/opt/robocode/robocode.sh' >> /usr/share/applications/robocode.desktop \
  && echo 'Categories=Game;StrategyGame;' >> /usr/share/applications/robocode.desktop \
  && apt-get -y remove --purge light-locker \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec startkde' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

コンテナの実行

以下のコマンドを実行して、Robocodeがインストールされた環境を実行します。
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub1804vnckderobocode

関連情報

・Robocodeに関する他の記事はこちらを参照してください。

・Robocodeのホームページ
https://robocode.sourceforge.io/

2019年9月26日木曜日

DockerでyEdとAdoptOpenJDKとMATEデスクトップ環境とTigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

yEdはVisioのような図を描画できるアプリケーションです。

〇yEdの画面

VNCクライアントから接続するときにパスワードにubuntuを指定します。

〇イメージのビルド
docker build --no-cache -t ub1804vncmateyed .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      ubuntu-mate-desktop \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
      unzip \
      fonts-vlgothic \
  && cd /opt \
  && wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz \
  && tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk-11.0.3+7' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000 \
  && wget https://www.yworks.com/resources/yed/demo/yEd-3.19.zip \
  && unzip yEd-3.19.zip \
  && mv yed-3.19 /opt/yed \
  && echo '[Desktop Entry]' >> /usr/share/applications/yed.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/yed.desktop \
  && echo 'Type=Application' >> /usr/share/applications/yed.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/yed.desktop \
  && echo 'Exec=/usr/bin/java -jar /opt/yed/yed.jar' >> /usr/share/applications/yed.desktop \
  && echo 'Icon=/opt/yed/icons/yicon32.png' >> /usr/share/applications/yed.desktop \
  && echo 'Name=yEd' >> /usr/share/applications/yed.desktop \
  && echo 'Categories=Utility;Development;' >> /usr/share/applications/yed.desktop \
  && apt-get -y remove --purge light-locker blueman \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec mate-session' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub1804vncmateyed


○関連情報
・yEdに関する他の記事はこちらを参照してください。

2019年9月22日日曜日

VagrantでyEd、Xfce Desktop環境、TigerVNCがインストールされた仮想マシン(Ubuntu 18.04)を構築する

yEdはVisioのような図を描画できるアプリケーションです。

〇yEdの画面

TigerVNCがインストールされているので、VNCクライアントで接続することができます。VNCパスワードはvagrantです。

〇構築方法
以下のVagrantfileを使用して、yEd、KDE Desktop環境、TigerVNCをインストールした仮想マシン(Ubuntu18.04)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804vncxfceyed"
  config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.network "private_network", ip: "192.168.55.108", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804vncxfceyed"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install fcitx-mozc xubuntu-desktop xfce4-terminal language-pack-ja tigervnc-standalone-server expect
apt-get -y purge light-locker blueman
im-config -n fcitx


# set passwd for vnc
cat << EOC > /tmp/initpass.sh
/usr/bin/expect << EOF
spawn "tigervncpasswd"
expect "Password:"
send "vagrant\\r"
expect "Verify:"
send "vagrant\\r"
expect "Would you like to enter a view-only password (y/n)?"
send "n\\r"
expect eof
exit
EOF
EOC
chmod +x /tmp/initpass.sh
sudo -u vagrant -H /bin/bash -c "/tmp/initpass.sh"


mkdir -p /home/vagrant/.vnc
chown vagrant:vagrant /home/vagrant/.vnc
cat << EOF > /home/vagrant/.vnc/xstartup
#!/bin/sh
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
fcitx -r -d &
exec startxfce4
EOF
chmod +x /home/vagrant/.vnc/xstartup

cat << EOF > /etc/systemd/system/vncserver@.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=vagrant
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1152x864 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl start vncserver@1.service
sudo systemctl enable vncserver@1.service


# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# download yed and extract it
apt-get install unzip
wget https://www.yworks.com/resources/yed/demo/yEd-3.19.zip
unzip yEd-3.19.zip
mv yed-3.19 /opt/yed

# create a shortcut for yEd
cat << EOF > /usr/share/applications/yed.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/java -jar /opt/yed/yed.jar
Icon=/opt/yed/icons/yicon32.png
Name=yEd
Categories=Utility;Development;
EOF


init 5
SHELL
end


○関連情報
・yEdに関する他の記事はこちらを参照してください。

2019年9月17日火曜日

DockerでPentaho Data Integration CE 8.2とAdoptOpenJDK、Xfceデスクトップ環境がインストールされたイメージ(Ubuntu18.04)を作成する

Pentaho Data IntegrationはオープンソースのETLツールです。

〇Pentaho Data Integrationの画面


Remote Desktop Clientから接続するときにユーザ名/パスワードにubuntu/ubuntuを指定します。

〇イメージのビルド
docker build -t ub1804xfcepdice82 .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      xubuntu-desktop \
      xrdp=0.9.5-2 \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
  && cd /opt \
  && wget 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz' \
  && tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk8u212-b03' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000 \
  && wget 'https://sourceforge.net/projects/pentaho/files/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip' \
  && unzip pdi-ce-8.2.0.0-342.zip \
  && echo '[Desktop Entry]' >> /usr/share/applications/pdice82.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/pdice82.desktop \
  && echo 'Type=Application' >> /usr/share/applications/pdice82.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/pdice82.desktop \
  && echo 'Exec=/opt/data-integration/spoon.sh' >> /usr/share/applications/pdice82.desktop \
  && echo 'Name=Pentaho Data Integration CE' >> /usr/share/applications/pdice82.desktop \
  && echo 'Categories=Development;' >> /usr/share/applications/pdice82.desktop \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/ubuntu/.config/fcitx/profile' >> /home/ubuntu/.xsessionrc \
  && chown ubuntu:ubuntu /home/ubuntu/.xsessionrc \
  && echo 'xfce4-session' >> /home/ubuntu/.xsession \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/work \
  && echo '#!/bin/bash' > /start.sh \
  && echo 'export GTK_IM_MODULE=fcitx' > /start.sh \
  && echo 'export QT_IM_MODULE=fcitx' >> /start.sh \
  && echo 'export XMODIFIERS="@im=fcitx"' >> /start.sh \
  && echo 'startxfce4' >> /start.sh \
  && echo 'sudo /etc/init.d/xrdp start' >> /start.sh \
  && echo 'sudo /etc/init.d/dbus start' >> /start.sh \
  && echo 'fcitx -r -d &' >> /start.sh \
  && echo '/bin/bash' >> /start.sh \
  && chmod +x /start.sh

expose 3389
volume ["/home/ubuntu/data"]
cmd /start.sh

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/work -p 3389:3389 -u ubuntu --privileged ub1804xfcepdice82

2019年9月16日月曜日

VagrantでTalend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.6)を構築する

TalendはオープンソースのJava製のETLアプリケーションです。

〇Talendの画面

このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

仮想マシンの構築方法

以下のVagrantfileを使用して、Talend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.6)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.6"
  config.vm.hostname = "co76xfcetosdi711"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co76xfcetosdi711"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
yum install -y epel-release
yum check-update
yum -y update
timedatectl set-timezone Asia/Tokyo

yum -y install vlgothic-*  ipa-*-fonts unzip epel-release
yum -y groupinstall yum groupinstall "X Window System"  Xfce "Input Methods"
yum -y install xrdp

cat << EOF >> /home/vagrant/.Xclients
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
exec /usr/bin/xfce4-session
EOF
chmod +x /home/vagrant/.Xclients
chown vagrant:vagrant /home/vagrant/.Xclients

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install Talend Open Studio
wget 'https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/7.1.1/TOS_DI-20181026_1147-V7.1.1.zip'
unzip TOS_DI-20181026_1147-V7.1.1.zip
mv TOS_DI-20181026_1147-V7.1.1 /opt/tosdi

# create a shortcut for Talend Open Studio for Data Integration
cat << EOF > /usr/share/applications/tosdi.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/tosdi/TOS_DI-linux-gtk-x86_64
Name=Talend Open Studio for Data Integration
Categories=Utility;Development;
EOF

telinit 5
SHELL
end

関連情報

・Talendに関する他の記事はこちらを参照してください。

DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

2019年9月7日土曜日

VagrantでPentaho Data Integration CE 8.2とAdoptOpenJDK、Xfce Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.6)を構築する

Pentaho Data IntegrationはオープンソースのETLツールです。

〇Pentaho Data Integration CE 8.2の画面


〇構築方法
以下のVagrantfileを使用して、Pentaho Data Integration CE 8.2、Xfce Desktop環境、XRDPをインストールした仮想マシン(CentOS7.6)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.6"
  config.vm.hostname = "co76xfcepdice82"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co76xfcepdice82"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
yum install -y epel-release
yum check-update
yum -y update
timedatectl set-timezone Asia/Tokyo

yum -y install vlgothic-*  ipa-*-fonts unzip epel-release
yum -y groupinstall yum groupinstall "X Window System"  Xfce "Input Methods"
yum -y install xrdp

cat << EOF >> /home/vagrant/.Xclients
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
exec /usr/bin/xfce4-session
EOF
chmod +x /home/vagrant/.Xclients
chown vagrant:vagrant /home/vagrant/.Xclients

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install pentaho data integration CE 8.2
cd /opt
wget 'https://sourceforge.net/projects/pentaho/files/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip'
unzip pdi-ce-8.2.0.0-342.zip
cat << EOF > /usr/share/applications/pdice82.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/data-integration/spoon.sh
Name=Pentaho Data Integration CE
Categories=Development;
EOF

telinit 5
SHELL
end

関連情報

DockerでDebian 11(Bullseye)のXfceデスクトップ環境にリモートデスクトップで接続できるコンテナを作成する

2019年9月6日金曜日

VagrantでTalend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu18.04)を構築する

TalendはオープンソースのJava製のETLアプリケーションです。

〇Talendの画面

このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

仮想マシンの構築方法

以下のVagrantfileを使用して、Talend Open Studio for Data Integration7.1.1とAdoptOpenJDK、Xfce Desktop環境、XRDPをインストールした仮想マシン(Ubuntu18.04)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804xfcetos711"
config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804xfcetos711"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop
im-config -n fcitx

apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install Talend Open Studio
wget 'https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/7.1.1/TOS_DI-20181026_1147-V7.1.1.zip'
unzip TOS_DI-20181026_1147-V7.1.1.zip
mv TOS_DI-20181026_1147-V7.1.1 /opt/tosdi

# create a shortcut for Talend Open Studio for Data Integration
cat << EOF > /usr/share/applications/tosdi.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/tosdi/TOS_DI-linux-gtk-x86_64
Name=Talend Open Studio for Data Integration
Categories=Utility;Development;
EOF

init 5
SHELL
end

関連情報

・Talendに関する他の記事はこちらを参照してください。

2019年9月5日木曜日

VagrantでApache Ignite2.7.5/AdoptOpenJDK11をインストールした仮想マシン(Debian Buster/10)を構築する

Apache Igniteはメモリ指向の分散データベースです。

○構築方法
以下のVagrantfileを使用して、Apache Ignite2.7.5をインストールした仮想マシン(Debian Buster/10)を構築する事が出来ます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-10"
  config.vm.hostname = "db10ignite"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db10ignite"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
timedatectl set-timezone Asia/Tokyo

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install Apache Ignite
sudo apt-get -y install unzip
wget http://mirrors.advancedhosters.com/apache//ignite/2.7.5/apache-ignite-2.7.5-bin.zip
unzip apache-ignite-2.7.5-bin.zip
mv apache-ignite-2.7.5-bin /opt/ignite

sed -i -e 's#JVM_OPTS="-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m"#JVM_OPTS="-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED"#' /opt/ignite/bin/ignite.sh
cat << EOF > /etc/systemd/system/ignite.service
[Unit]
Description=Apache Ignite

[Service]
Environment=JAVA_HOME=/opt/jdk-11.0.3+7
ExecStart=/opt/ignite/bin/ignite.sh
WorkingDirectory=/opt/ignite
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
systemctl enable ignite.service
systemctl start ignite.service

# wait unitl 11211 port is opened.
while netstat -lnt | awk '$4 ~ /:11211$/ {exit 1}'; do sleep 10; done
sleep 10

# execute a sample sql.
wget http://wiki.metawerx.net/attach/SJSQL/sjsql.java
wget http://wiki.metawerx.net/attach/SJSQL/sjsql.class

cat << EOF >> /home/vagrant/test.sql
create table test1 (test_id integer primary key, test_desc varchar(100));
insert into test1 (test_id, test_desc) values (1, 'test_id_001');
select * from test1;
EOF
/opt/jdk-11.0.3+7/bin/java --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED -cp .:/opt/ignite/libs/ignite-core-2.7.5.jar sjsql org.apache.ignite.IgniteJdbcThinDriver jdbc:ignite:thin://127.0.0.1/ test test /home/vagrant/test.sql

SHELL
end


○関連情報
・Apache Igniteに関する他の記事はこちらを参照してください。

VagrantでProjectLibre1.9.1とAdoptOpenJDK11、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu18.04)を構築する

ProjectLibre を使用してMicrosoft Projectのようにプロジェクト管理を行う事ができます。

〇ProjectLibreの画面


構築方法

以下のVagrantfileを使用して、ProjectLibre1.9.1とAdoptOpenJDK11 、Xfce Desktop環境、XRDPをインストールした仮想マシン(Ubuntu18.04) を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804xfceprojectlibre"
config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804xfceprojectlibre"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop
im-config -n fcitx

apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install projectlibre
mkdir -p /opt/projectlibre
cd /opt/projectlibre
wget https://sourceforge.net/projects/projectlibre/files/ProjectLibre/1.9.1/projectlibre.jar
cat << EOF > /usr/share/applications/projectlibre.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Environment=QT_IM_MODULE=fcitx
Exec=/opt/jdk-11.0.3+7/bin/java -jar /opt/projectlibre/projectlibre.jar
Name=ProjectLibre
Categories=Development;
EOF

init 5
SHELL
end

関連情報

・プロジェクトWebサイト
https://www.projectlibre.com/

・ProjectLibreに関する他の情報はこちらを参照してください。

2019年8月28日水曜日

VagrantでFreeplane1.7.7とAdoptOpenJDK11、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu18.04)を構築する

Freeplaneでマインドマップを作成する事ができます。

〇Freeplaneの画面


仮想マシン構築方法

以下のVagrantfileを使用して、Freeplane1.7.7とAdoptOpenJDK11、Xfce Desktop環境、XRDPをインストールした仮想マシン(Ubuntu18.04)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804xfcefreeplane177"
config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804xfcefreeplane177"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop
im-config -n fcitx

apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install Freeplance
wget 'https://sourceforge.net/projects/freeplane/files/freeplane%20stable/freeplane_bin-1.7.7.zip'
apt-get -y install unzip
unzip freeplane_bin-1.7.7.zip
cat << EOF > /usr/share/applications/freeplane.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/freeplane-1.7.7/freeplane.sh
Name=Freeplane
Categories=Development;
Icon=/opt/freeplane-1.7.7/freeplane.svg
EOF

init 5
SHELL
end

関連情報

・Freeplaneに関する他の情報はこちらを参照してください。

・プロジェクトWebサイト
https://www.freeplane.org/wiki/index.php/Home

2019年8月27日火曜日

VagrantでPentaho Data Integration CE 8.2とAdoptOpenJDK、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu18.04)を構築する

Pentaho Data IntegrationはオープンソースのETLツールです。

〇Pentaho Data Integration CE 8.2の画面


〇構築方法
以下のVagrantfileを使用して、Pentaho Data Integration CE 8.2、Xfce Desktop環境、XRDPをインストールした仮想マシン(Ubuntu18.04)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804xfcepdice82"
config.vm.network :public_network, ip:"192.168.1.108"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804xfcepdice82"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja fonts-ipafont-*
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop
im-config -n fcitx

apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install pentaho data integration CE 8.2
cd /opt
wget 'https://sourceforge.net/projects/pentaho/files/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip'
unzip pdi-ce-8.2.0.0-342.zip
cat << EOF > /usr/share/applications/pdice82.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/data-integration/spoon.sh
Name=Pentaho Data Integration CE
Categories=Development;
EOF

init 5
SHELL
end

2019年8月26日月曜日

VagrantでProjectLibre1.9.1とAdoptOpenJDK11、Gnome Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.6)を構築する

ProjectLibre を使用してMicrosoft Projectのようにプロジェクト管理を行う事ができます。

〇ProjectLibreの画面


構築方法

以下のVagrantfileを使用して、ProjectLibre1.9.1とAdoptOpenJDK11 、Gnome Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.6) を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96gnomeprojectlibre"
config.vm.network "public_network", ip:"192.168.1.104", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96gnomeprojectlibre"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xprofile
apt-get -y install  xrdp fcitx-mozc task-gnome-desktop tigervnc-standalone-server

apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.22/VBoxGuestAdditions_5.2.22.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.22.iso /media/
/media/VBoxLinuxAdditions.run

export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install projectlibre
mkdir -p /opt/projectlibre
cd /opt/projectlibre
wget https://sourceforge.net/projects/projectlibre/files/ProjectLibre/1.9.1/projectlibre.jar
cat << EOF > /usr/share/applications/projectlibre.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Environment=QT_IM_MODULE=fcitx
Exec=/opt/jdk-11.0.3+7/bin/java -jar /opt/projectlibre/projectlibre.jar
Name=ProjectLibre
Categories=Development;
EOF

init 5
SHELL
end

関連情報

・プロジェクトWebサイト
https://www.projectlibre.com/

・ProjectLibreに関する他の情報はこちらを参照してください。

2019年8月25日日曜日

DockerでRobocodeとMATEデスクトップ環境とTigerVNCがインストールされたイメージ(Ubuntu18.04)を作成する

Robocodeは、プログラムでコントロールする戦車が戦うゲームです。Javaや.netを使用するプログラム言語を学ぶことができます。

Robocodeの画面


VNCクライアントから接続するときにパスワードにubuntuを指定します。

イメージのビルド

以下のコマンドを実行して、イメージをビルドします。
docker build --no-cache -t ub1804vncmaterobocode .

Dockerfile
from ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
  && apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run apt-get -y install \
      ubuntu-mate-desktop \
      tigervnc-standalone-server \
      expect \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      xdg-utils \
  && cd /opt \
  && wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz \
  && tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz \
  && echo 'export JAVA_HOME=/opt/jdk-11.0.3+7' >> /etc/profile.d/jdk.sh \
  && echo 'export PATH=\\$PATH:\\$JAVA_HOME/bin' >> /etc/profile.d/jdk.sh \
  && update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000 \
  && update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000 \
  && mkdir -p /opt/robocode \
  && cd /opt/robocode \
  && wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.4/robocode-1.9.3.4-setup.jar' \
  && /opt/jdk-11.0.3+7/bin/jar xvf robocode-1.9.3.4-setup.jar \
  && chmod +x /opt/robocode/robocode.sh \
  && echo '[Desktop Entry]' >> /usr/share/applications/robocode.desktop \
  && echo 'Type=Application' >> /usr/share/applications/robocode.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/robocode.desktop \
  && echo 'Name=Robocode' >> /usr/share/applications/robocode.desktop \
  && echo 'GenericName=Tank AI programming game for Java and .NET' >> /usr/share/applications/robocode.desktop \
  && echo 'Comment=Build the best - destroy the rest!' >> /usr/share/applications/robocode.desktop \
  && echo 'Icon=/opt/robocode/desktop/robocode.png' >> /usr/share/applications/robocode.desktop \
  && echo 'Exec=/opt/robocode/robocode.sh' >> /usr/share/applications/robocode.desktop \
  && echo 'Categories=Game;StrategyGame;' >> /usr/share/applications/robocode.desktop \
  && apt-get -y remove --purge light-locker blueman \
  && apt-get -y install gnome-screensaver \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
  && echo 'expect "Password:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Verify:"' >> /tmp/initpass \
  && echo 'send "ubuntu\\r"' >> /tmp/initpass \
  && echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
  && echo 'send "n\\r"' >> /tmp/initpass \
  && echo 'expect eof' >> /tmp/initpass \
  && echo 'exit' >> /tmp/initpass \
  && sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
  && mkdir -p /home/ubuntu/.vnc \
  && chown ubuntu:ubuntu /home/ubuntu/.vnc \
  && echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
  && echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
  && echo 'exec mate-session' >> /home/ubuntu/.vnc/xstartup \
  && chmod +x /home/ubuntu/.vnc/xstartup \
  && mkdir -p /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data

expose 5901
volume ["/home/ubuntu/data"]
cmd /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg

コンテナの実行

以下のコマンドでコンテナを実行します。
docker run -it -v `pwd`:/home/ubuntu/data -p 5901:5901 -u ubuntu --privileged ub1804vncmaterobocode

関連情報

・Robocodeに関する他の記事はこちらを参照してください。

・Robocodeのホームページ
https://robocode.sourceforge.io/

・ゲームに関する記事一覧は、こちらを参照してください。

2019年8月21日水曜日

VagrantでFreeplane1.7.7とAdoptOpenJDK11、Cinnamon Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

Freeplaneでマインドマップを作成する事ができます。

〇Freeplaneの画面


仮想マシン構築方法

以下のVagrantfileを使用して、Freeplane1.7.7とAdoptOpenJDK11、Cinnamon Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96cinnamonfreeplane"
config.vm.network "public_network", ip:"192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96cinnamonfreeplane"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install  xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server

apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.22/VBoxGuestAdditions_5.2.22.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.22.iso /media/
/media/VBoxLinuxAdditions.run

im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install Freeplance
wget 'https://sourceforge.net/projects/freeplane/files/freeplane%20stable/freeplane_bin-1.7.7.zip' 
apt-get -y install unzip
unzip freeplane_bin-1.7.7.zip
cat << EOF > /usr/share/applications/freeplane.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=bash -c "source /etc/profile.d/jdk.sh && /opt/freeplane-1.7.7/freeplane.sh"
Name=Freeplane
Categories=Development;
Icon=/opt/freeplane-1.7.7/freeplane.svg 
EOF

init 5
SHELL
end

参考情報

・Freeplaneに関する他の情報はこちらを参照してください。

・プロジェクトWebサイト
https://www.freeplane.org/wiki/index.php/Home

2019年8月20日火曜日

VagrantでDBeaverとAdoptOpenJDK11、MariaDB、Cinnamon Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.6)を構築する

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面


〇構築方法
以下のVagrantfileを使用して、DBeaverとAdoptOpenJDK11、Cinnamon Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.6)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。
データベース接続作成時にデータベース名:test、ユーザ名:test、パスワード:testを指定します。ドライバはデータベース接続作成時にダウンロードできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96cinnamondbeavermariadb"
config.vm.network "public_network", ip:"192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96cinnamondbeavermariadb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install  xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server

apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.22/VBoxGuestAdditions_5.2.22.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.22.iso /media/
/media/VBoxLinuxAdditions.run

im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install mariadb
echo "mariadb-server-10.0 mysql-server/root_password password root" | sudo debconf-set-selections
echo "mariadb-server-10.0 mysql-server/root_password_again password root" | sudo debconf-set-selections
apt-get -y install mariadb-server
mysql -uroot -proot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER test@localhost IDENTIFIED BY 'test';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"
mysql -utest -ptest test -e "create table messages (message_id integer not null, message varchar(100));"
mysql -utest -ptest test -e "insert into messages value (1, 'hello world.');"
mysql -utest -ptest test -e "insert into messages value (2, 'test message.');"

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install dbeaver
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=bash -c "source /etc/profile.d/jdk.sh && /opt/dbeaver/dbeaver"
Name=DBeaver
Categories=Development;
Icon=/opt/dbeaver/icon.xpm
EOF

init 5
SHELL
end

〇関連情報
・DBeaver Communityのwebサイト
https://dbeaver.io/

2019年8月17日土曜日

VagrantでPentaho Data Integration CE 8.2とAdoptOpenJDK、Cinnamon Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.6)を構築する

Pentaho Data IntegrationはオープンソースのETLツールです。

〇Pentaho Data Integration CE 8.2の画面


〇構築方法
以下のVagrantfileを使用して、Pentaho Data Integration CE 8.2、Cinnamon Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.6)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96cinnamonpdice82"
config.vm.network "public_network", ip:"192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96cinnamonpdice82"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install  xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server

apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.22/VBoxGuestAdditions_5.2.22.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.22.iso /media/
/media/VBoxLinuxAdditions.run

im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install AdoptOpenJDK11
#cd /opt
#wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
#cat << EOF > /etc/profile.d/jdk.sh
#export JAVA_HOME=/opt/jdk-11.0.3+7
#export PATH=\\$PATH:\\$JAVA_HOME/bin
#EOF
#update-alternatives --install /usr/bin/java java /opt/jdk-11.0.3+7/bin/java 2000
#update-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.3+7/bin/javac 2000

# install AdoptOpenJDK8
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u212-b03/OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
tar xvfz OpenJDK8U-jdk_x64_linux_hotspot_8u212b03.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk8u212-b03
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF
update-alternatives --install /usr/bin/java java /opt/jdk8u212-b03/bin/java 2000
update-alternatives --install /usr/bin/javac javac /opt/jdk8u212-b03/bin/javac 2000


# install pentaho data integration CE 8.2
cd /opt
wget 'https://sourceforge.net/projects/pentaho/files/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip'
unzip pdi-ce-8.2.0.0-342.zip
cat << EOF > /usr/share/applications/pdice82.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/data-integration/spoon.sh
Name=Pentaho Data Integration CE
Categories=Development;
EOF

init 5
SHELL
end

2019年8月14日水曜日

VagrantでApache Ignite2.7.0/AdoptOpenJDK11をインストールした仮想マシン(Debian Stretch/9.6)を構築する

Apache Igniteはメモリ指向の分散データベースです。

○構築方法
以下のVagrantfileを使用して、Apache Ignite2.7.0をインストールした仮想マシン(Debian Stretch/9.6)を構築する事が出来ます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96ignite27adoptopenjdk11"
config.vm.network :public_network, ip:"192.168.1.109"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96ignite27adoptopenjdk11"
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install language-pack-ja
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
timedatectl set-timezone Asia/Tokyo
apt-get -y install unzip

# install AdoptOpenJDK11
cd /opt
wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
tar xvfz OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz
cat << EOF > /etc/profile.d/jdk.sh
export JAVA_HOME=/opt/jdk-11.0.3+7
export PATH=\\$PATH:\\$JAVA_HOME/bin
EOF

# install Apache Ignite
wget https://www-eu.apache.org/dist//ignite/2.7.0/apache-ignite-2.7.0-bin.zip
unzip apache-ignite-2.7.0-bin.zip
mv apache-ignite-2.7.0-bin /opt/ignite

sed -i -e 's#JVM_OPTS="-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m"#JVM_OPTS="-Xms1g -Xmx1g -server -XX:MaxMetaspaceSize=256m --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED"#' /opt/ignite/bin/ignite.sh
cat << EOF > /etc/systemd/system/ignite.service
[Unit]
Description=Apache Ignite

[Service]
Environment=JAVA_HOME=/opt/jdk-11.0.3+7
ExecStart=/opt/ignite/bin/ignite.sh
WorkingDirectory=/opt/ignite
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
systemctl enable ignite.service
systemctl start ignite.service

# wait unitl 11211 port is opened.
while netstat -lnt | awk '$4 ~ /:11211$/ {exit 1}'; do sleep 10; done
sleep 10

# execute a sample sql.
wget http://wiki.metawerx.net/attach/SJSQL/sjsql.java
wget http://wiki.metawerx.net/attach/SJSQL/sjsql.class

cat << EOF >> /home/vagrant/test.sql
create table test1 (test_id integer primary key, test_desc varchar(100));
insert into test1 (test_id, test_desc) values (1, 'test_id_001');
select * from test1;
EOF
/opt/jdk-11.0.3+7/bin/java --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED -cp .:/opt/ignite/libs/ignite-core-2.7.0.jar sjsql org.apache.ignite.IgniteJdbcThinDriver jdbc:ignite:thin://127.0.0.1/ test test /home/vagrant/test.sql

SHELL
end

〇関連情報
・プロジェクトWebサイト
https://ignite.apache.org/index.html

・Apache Igniteに関する他の記事はこちらを参照してください。