表題の通り。基本中の基本なのだろうが、少々ハマってしまったので自戒の為にメモ。
■ 環境
- 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“を適切に設定すれば問題ないのであろうと思われる。
以上。