[問題解決] Dockerコンテナアプリケーションでmvn:コマンドが見つからないという問題を解決します
Solve Problem Mvn
問題
jenkinsを使用していたときに、シェルスクリプトを使用してmvnコマンドを実行すると、mvn:コマンドが見つかりませんでした。私のジェンキンスはdockerにインストールされているため、mvn環境はありません
理由
dockerにインストールされているjenkinsにはMavenがありません。 Mavenはホストディレクトリをマウントすることで提供できますが、コンテナ内の環境変数は設定を認識しないため、環境変数を手動で設定する必要があります。
解決する
- コンテナの実行時に、ホストマシンのjavaディレクトリとmavenディレクトリをマウントします
docker run -d -p 8080:8080 -v /usr/lib/jvm/java-1.8-openjdk:/usr/lib/jvm/java-1.8-openjdk -v /usr/local/maven/maven3:/usr/local/maven/maven3 Container id
-v
ホストのディレクトリをコンテナにマウントすることです
:
コロンの前がホストディレクトリで、コロンの後がコンテナアプリケーションのディレクトリです。
- コンテナを正常に実行した後、コンテナを入力します
docker exec -it container id /bin/bash
- コンテナアプリケーションの環境変数を設定する
vi /etc/profile
ファイルの最後に次のコンテンツを追加します
# java environment variables export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=./:JAVA_HOME/lib:$JRE_HOME/lib # maven environment variables export M2_HOME=/usr/local/maven/maven3 export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
JAVA_HOME
with M2_HOME
個々の設置場所によって異なります
- プロファイルを更新する
source /etc/profile
- セットアップが成功したことを確認します
mvn -v
上記の内容は成功を示しています