Dockerのslaveコンテナ起動エラー@Javaが見つからない
前回記事の続きです。
slaveコンテナを起動すると以下のエラーが表示されます。
■エラーログ
[04/21/20 12:21:50] [SSH] Checking java version of /home/jenkins/jdk/bin/java
Couldn't figure out the Java version of /home/jenkins/jdk/bin/java
bash: /home/jenkins/jdk/bin/java: No such file or directory
[04/21/20 12:21:50] [SSH] Checking java version of java
Couldn't figure out the Java version of java
bash: java: command not found
[04/21/20 12:21:50] [SSH] Checking java version of /usr/bin/java
Couldn't figure out the Java version of /usr/bin/java
bash: /usr/bin/java: No such file or directory
[04/21/20 12:21:50] [SSH] Checking java version of /usr/java/default/bin/java
Couldn't figure out the Java version of /usr/java/default/bin/java
bash: /usr/java/default/bin/java: No such file or directory
[04/21/20 12:21:50] [SSH] Checking java version of /usr/java/latest/bin/java
Couldn't figure out the Java version of /usr/java/latest/bin/java
bash: /usr/java/latest/bin/java: No such file or directory
[04/21/20 12:21:50] [SSH] Checking java version of /usr/local/bin/java
Couldn't figure out the Java version of /usr/local/bin/java
bash: /usr/local/bin/java: No such file or directory
[04/21/20 12:21:50] [SSH] Checking java version of /usr/local/java/bin/java
Couldn't figure out the Java version of /usr/local/java/bin/java
bash: /usr/local/java/bin/java: No such file or directory
java.io.IOException: Java not found on hudson.slaves.SlaveComputer@35e8e954. Install a Java 8 version on the Agent.
at hudson.plugins.sshslaves.JavaVersionChecker.resolveJava(JavaVersionChecker.java:82)
at hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:452)
at hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[04/21/20 12:21:50] Launch failed - cleaning up connection
[04/21/20 12:21:50] [SSH] Connection closed.
■原因
Javaの参照先が間違っているそうです。
slaveコンテナ上で本来の参照先を確認してみます。
■コマンド
docker exec -it slave01 bash //slave01コンテナでbashを起動する(中に入る)
参照先ディレクトリがエラーが出ているディレクトリと違いますね。
設定を変更してみます。
まずはslave01コンテナを選択します。
左のメニューから「Configure」を選択します。
Launch methodの右下にある「Advanced...」を選択します。
Java Pathの設定項目が表示されるので、先程whichコマンドで取得したjavaディレクトリを設定してsaveします。
起動を試してみると以下のログが、、、!!!
無事起動できることが確認できました!!!
長かった。。。