MavenのDockerコンテナ作成時の注意

表題の通り。基本中の基本なのだろうが、少々ハマってしまったので自戒の為にメモ。

■ 環境

  • Docker 1.8.2
  • CentOS 6.7
  • Maven 3.3.3

■ Dockerコンテナ

CentOS-6.7のDockerイメージを用いて、Maven-3.3.3のコンテナイメージを作成しようとした。JDKをインストールして、Mavenを入れて、さて動かそうと思ったところエラー。

複数versionのJDKをインストールしていた為、環境変数”JAVA_HOME“を設定していなかった。それによって`mvn`コマンド内で`which`コマンドが使用されていたのが原因のようであった。

CentOS-6.7のDockerコンテナでは`which`コマンドがインストールされていないのが原因であった。

Dockerfileにて下記行を追記。

RUN yum install -y which

これによって`mvn`コマンドが正常に稼動してくれるようになった。

[root@CONTAINER /]# mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T20:57:37+09:00)
Maven home: /opt/apache-maven-3.3.3
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_60/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "4.0.9-boot2docker", arch: "amd64", family: "unix"
javac 1.8.0_60
[root@CONTAINER /]# 

そもそも”JAVA_HOME“を適切に設定すれば問題ないのであろうと思われる。

以上。