docker入门—5. 使用Docker Compose运行Spring Boot和MongoDB

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即可同时运行两个容器。

你可能感兴趣的:(docker入门—5. 使用Docker Compose运行Spring Boot和MongoDB)