はじめに
DockerでEclipseを動かしてみました。
最近Androidアプリだったり、Webアプリケーションだったりをちょこっと動かす度に開発環境のインストールから始めたせいで、色々PCのソフトウェアが煩雑になってきたので、よく考えたら開発環境もdockerで管理できるんじゃね?と思っての調査です。
そもそもGUIってDockerで使えるの?
思いついてすぐ疑問に思ったのが、そもそもdockerではGUI使ったことない、というかGUIのソフトウェアを起動しても画面が表示されないということです。
それに関しては、Linux等UNIX系で使用されているX Window Systemというのが使えるようです。
イメージに書き起こしてみるとこんな感じです。
以下大変わかりやすい参考ページ
参考ページ 1
参考ページ 2
環境構成
・My Windows PC :win10
・Docker Desktop 4.17.1
X Serverをインストール
というわけで、My Windows PCにはX serverをインストールします。
調べてみると色々あるようですが、GUI表示だけとりあえずできればというのであれば、VcXsrvが良いと色々な場所で書かれていたので、私もそれに倣おうと思います。
VcXsrvの公式サイトからダウンロードして、そのままインストール。
私はすべてディフォルト設定にしました。
DockerFileを書いてみる
dockerのインストールに関しては、非常にわかりやすく解説された様々なサイトがありますので説明は割愛します。
特に特殊な設定はしていません。
この辺のHello Worldが表示できればOKだと思います。多分…
まずはdockerfileを置く適当なディレクトリを作り、移動して下記のdokckerfileを作成します。
# 今回はJava 8を使いました。
FROM openjdk:8
WORKDIR /root/.local
RUN apt-get update
# Eclipse をインストール
# 後のdocker runコマンドで呼び出すために
# ln -s でeclipseのexeをsbin/eclipseにリンクします。
RUN wget http://ftp.jaist.ac.jp/pub/eclipse/technology/epp/downloads/release/2023-06/M2/eclipse-committers-2023-06-M2-linux-gtk-x86_64.tar.gz -O - | tar zxvf - && \
ln -s /root/.local/eclipse/eclipse /usr/sbin/eclipse
# Eclipseを動かすためにlibswt-gtk-4-jniも入れます。
RUN apt-get install libswt-gtk-4-jni -y
# X Window Systemをインストール
RUN apt-get install x11-apps -y
ENV DISPLAY=host.docker.internal:0.0
dockerファイルを書いたフォルダに移動し、powershell等から下記のコマンドでdockerイメージをビルドします。
docker build -t eclipse .
無事ビルドが確認出来たら。
下記コマンドでdocker containerを作って実行します。
docker run -it --entrypoint eclipse --name dockerInEclipse eclipse
おわりに
いろんなサイトを参考にしつつ、とりあえずDockerでEclipseによるWebアプリケーションの開発が出来そうな状態にしてみました。
まぁ、起動できただけなので日本語化とかとか最低限必要な設定などもこれからですが、一旦とりあえず動かすだけまではできたので、今回はこんな感じにしたいとおもいます。