docker 镜像外 如何修改应用的配置

weixin_40128275 2017-11-29 01:55:19

写了一个spring boot web应用程序,在根目录做了一个配置文件hello.yml,web应读取hello.yml里数据,本地Jar包和工程运行,没问题。写好DockerFile,然后docker-compose 编译。成功!启动正常, 可以访问。但是问题是我想通过docker-compose.yml里volumes 把hello.yml 挂载在镜像外,这样每次修hello.yml,就可以改置了。可是配置完,没有效果,
docker-compose.yml文件内容:
version: '3'

services:
elasticsearch:
build: elasticsearch
ports:
- 9200:9200
expose:
- 9300
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
networks:
- "internal"
volumes:
- esdata:/usr/share/elasticsearch/data
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
ulimits:
nofile:
soft: 65536
hard: 65536

kibana:
image: docker.elastic.co/kibana/kibana:5.6.4
networks:
- "internal"
ports:
- 5601:5601
elasticsearch-head:
image: mobz/elasticsearch-head:5
networks:
- "internal"
ports:
- 9100:9100
app:
build: helloWorld
ports:
- 9090:9090
expose:
- 9090
networks:
- "internal"
volumes:
- ./helloWorld/config/hello.yml:/app/app.jar!/BOOT-INF/classes!/hello.yml

volumes:
esdata:
driver: local

networks:
internal:
driver: "bridge"
------------------------------------------------------------------------------------、
DockerFile 内容
FROM java:8
VOLUME /tmp
RUN mkdir /app
ADD HelloWorld-0.0.1-SNAPSHOT.jar /app/app.jar
ADD runboot.sh /app
RUN bash -c 'touch /app/app.jar'
WORKDIR /app
RUN chmod a+x runboot.sh
EXPOSE 9090
CMD /app/runboot.sh
---------------------------------------------------------------------------------
runboot.sh

sleep 10
java -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar
-------------------------------------------------------------------------------------------
hello.yml
yourName: Jack and Rose
words: welocome to China
...全文
507 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧