2018年2月1日木曜日

DockerでXfceとTalend Open Studio for Data Integrationがインストールされたイメージ(Ubuntu16.04)を作成する

TalendはオープンソースのETLソフトウェアです。

イメージのビルドとコンテナの実行方法

以下のDockerfileを使用して、XfceとTalend Open Studio for Data Integrationをインストールしたイメージ(Ubuntu16.04)を作成する事ができます。
XRDPもインストールされているので、リモートデスクトップクライアントからDockerホストにアクセスすることでコンテナ内のデスクトップ環境を利用できます。
ログイン時にユーザ名にubuntu、パスワードにubuntuを指定します。

Dockerfile
from ubuntu:16.04

run sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g"; /etc/apt/sources.list \
  && apt-get update \
  && apt-get -y install software-properties-common \
  && add-apt-repository ppa:hermlnx/xrdp \
  && apt-get update \
  && 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 DEBIAN_FRONTEND=noninteractive apt-get -y install \
      xubuntu-desktop \
      xrdp \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      git \
      xdg-utils \
      openjdk-8-jdk \
      unzip \
  && wget https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/6.4.1/TOS_DI-20170623_1246-V6.4.1.zip \
  && unzip TOS_DI-20170623_1246-V6.4.1.zip \
  && rm -f TOS_DI-20170623_1246-V6.4.1.zip \
  && mv TOS_DI-20170623_1246-V6.4.1 /opt/tosdi \
  && echo '[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Terminal=false\n\
Exec=/opt/tosdi/TOS_DI-linux-gtk-x86_64\n\
Name=Talend Open Studio for Data Integration\n\
Categories=Utility;Development;' > /usr/share/applications/tosdi.desktop \
  && chmod +x /usr/share/applications/tosdi.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 \
  && mkdir /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data \
  && echo $'#!/bin/bash\n\
export GTK_IM_MODULE=fcitx\n\
export QT_IM_MODULE=fcitx\n\
export XMODIFIERS="@im=fcitx"\n\
startxfce4\n\
sudo /etc/init.d/xrdp start\n\
sudo /etc/init.d/dbus start\n\
fcitx -r -d &\n\
/bin/bash' >> /start.sh \
  && chmod +x /start.sh
expose 3389
volume ["/home/ubuntu/data"]
cmd /start.sh

○イメージのビルド
docker build -t cub1604xfcetosdi .

○コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 3389:3389 -u ubuntu cub1604xfcetosdi

〇Talend Open Studio for Data Integrationの画面

関連情報

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

0 件のコメント:

コメントを投稿