DockerCompose容器编排
dockerCompose目前已集成进Docker中了,无需手动安装。
基础命令:
docker-compose up -d //执行docker-compose.yml文件
docker-compose down //关闭并删除容器
docker-compose start|stop|restart //开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose ps //查看由docker-compose管理的容器
docker-compose logs -f //查看日志
演示:
version: “3.2”
services:
web:
build: .
volumes:
- ./src:/data
ports:
- "7006:7004"
server:
image: httpd:latest
volumes:
- ./src:/usr/local/apache2/htdocs
ports:
- "7007:80"
volumes:
mydata:
volumes:配置的挂载点,./src代表当前文件夹内的src文件夹,/data为容器内部对应的文件夹位置。如果没有mydata,会自动新建一个volume对象。
build:如果没有现成的镜像或者需要根据dockerfile构建镜像,’.'代表当前路径下,docker会自动寻找dockerfile文件,并根据dockerfile自动构建镜像。
image:首先docker会在本地的镜像库寻找,有无此镜像,如果没有的话会自动在dockerHub上下载镜像。
DockerFile
- 基于dockerfile构建镜像。
# 该镜像需要依赖的基础镜像
FROM java:8
# 将当前目录下的jar包复制到docker容器的/目录下
ADD Client9001-1.0-SNAPSHOT.jar /my_test.jar
# 运行过程中创建一个my_test.jar文件
RUN bash -c 'touch /my_test.jar.jar'
# 声明服务运行在9090端口
EXPOSE 9001
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/my_test.jar"]
# 指定维护者的名字
MAINTAINER KenChen
mkdir一个文件夹
vim Dockerfile
放入所需的jar包,yml配置文件等。
cd进此文件夹,docker build -t upload .
点表示在当前路径寻找Dockerfile文件。
SpringBoot加载外部配置文件
- 配置文件加载顺序
- resources根路径下的配置文件
- resources内config文件夹下的配置文件
- 当前项目根路径下的配置文件
- 当前项目根路径内config文件夹下的配置文件
启动时加载配置文件顺序:1>2>3>4
优先级覆盖:优先级较高的配置文件加载顺序靠后,相同名称的配置,优先级较高的会覆盖掉优先级较低的文件内容。
注:如果同时存在application.properties和yml文件,yml的优先级较高。
项目打成jar包后,读取外部配置文件可以选择将application.yml等配置文件放在jar包的同级目录下。或创建一个config文件夹,放在config中。
网友评论