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容器

第二節(jié)介紹了本地Spring Boot應(yīng)用連接MongoDB Docker容器;第三節(jié)介紹了制作Spring Boot應(yīng)用的Docker Image。

這里介紹Spring Boot容器訪問MongoDB容器,即容器之間的連接,更接近生產(chǎn)環(huán)境Docker容器的部署狀況。

  • 編寫docker-compose.yaml文件:
version: '3.3'

services:

  #第一個docker
  mongodb:
    image: mongo:latest
    #本地目錄映射docker數(shù)據(jù)目錄,做數(shù)據(jù)持久化 -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應(yīng)用默認連接主機為localhost上的MongoDB實例;但在Spring Boot容器中,localhost指的是其容器本地,顯然無法連接;因此需要指定MongoDB所在主機。

  • 之后運行docker-compose up -d即可同時運行兩個容器。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容