2016-05-18 11 views
3

Spring Bootで外部プロパティファイルを使用するためのDockerfileを設定できません。これは私のDockerfileです:Spring BootとDockerを使用する外部プロパティファイル

FROM java:8-jre 
VOLUME /tmp /var/gpm/config 
ADD gpm-web-1.0.jar app.jar 
RUN bash -c 'touch /app.jar' 
ENTRYPOINT ["java","-cp","/var/gpm/config","-Dspring.config.location=classpath:application.properties","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 

そして、私のホストでは、私はプロパティにこのパスがファイルを持っている:/var/gpm/config/application.properties

しかし、著作ません。

UPDATE

私はこれでDockerfileを変更:

FROM java:8-jre 
VOLUME /tmp 
ADD gpm-web-1.0.jar app.jar 
RUN bash -c 'touch /app.jar' 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.config.location=file:/conf/application.properties"] 

そして、これを実行します。

docker run -d -p 8080:8080 -v /opt/gpm/config/application.properties:/conf/application.properties --name gpm gpm-web:1.0 

しかし、ファイルはフォルダのようにそれを取るです:

[email protected]:/# ls -la /conf/ 
total 8 
drwxr-xr-x 3 root root 4096 May 18 16:43 . 
drwxr-xr-x 74 root root 4096 May 18 16:55 .. 
drwxr-sr-x 2 root staff 40 May 18 16:43 application.properties 
+0

あなたが実行している場合、コンテナの中にボコボコとファイルがある場合にチェックがありますボリュームで利用できますか? – Shibashis

+0

こんにちは!、それがマウントされているフォルダは空ですが、application.propertiesファイルは表示されません。 –

+0

docker inspect コマンドを使用し、マウントを確認してください – Shibashis

答えて

0

最後に、問題はDockerコンテナにマウントされるファイルのアクセス許可です。元のファイルがホストに見つからない場合、Dockerはディレクトリを作成します。

@Shibashisの助けを借りて感謝します。

0

私はあなただけのconfフォルダにボリュームをマウントする必要があると思う。

ドッキングウィンドウの実行-d -p 8080:8080 -vは/ opt/GPM /設定:/ confが--name GPM GPM-ウェブ:1.0

関連する問題