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即可同時運行兩個容器。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容