Docker compose可以通过编写docker-compose.yaml
文件管理并运行多个docker容器实例。
使用Docker Compose
-
编写
docker-compose.yaml
文件,注意文件命令约定: -
运行
docker-compose up -d
- 停止
docker-compose down
- 停止
docker-compose down
示例: Spring Boot容器连接MongoDB容器
第二节介绍了本地Spring Boot应用连接MongoDB Docker容器;第三节介绍了制作Spring Boot应用的Docker Image。
这里介绍Spring Boot容器访问MongoDB容器,即容器之间的连接,更接近生产环境Docker容器的部署状况。
- 编写
docker-compose.yaml
文件:
version: '3.3'
services:
#第一个docker
mongodb:
image: mongo:latest
#本地目录映射docker数据目录,做数据持久化 -v
volumes:
- /Users/hope/my_mongo_docker2:/data/db
ports:
- "27017:27017"
restart: always
#第二个docker
boot-demo:
#连接到mongodb容器
links:
- mongodb
depends_on:
- mongodb
image: ted005/spring-boot-mongo-demo:latest
# -p 本机端口映射到docker的80端口
ports:
- "8080:8080"
restart: always
- 修改
application.properties
文件:
spring.data.mongodb.host=mongodb
这是因为Spring Boot应用默认连接主机为localhost
上的MongoDB实例;但在Spring Boot容器中,localhost
指的是其容器本地,显然无法连接;因此需要指定MongoDB所在主机。
- 之后运行
docker-compose up -d
即可同时运行两个容器。
网友评论