簡體   English   中英

Docker-compose從鏈接遷移到網絡MongoDB數據庫問題

[英]Docker-compose migrating from links to networking MongoDB database issue

我正在嘗試通過Dockerfile從使用到網絡的鏈接進行遷移,但是遇到一些問題。 我將首先概述我的原始設置:

原始-鏈接

Dockerfile:

FROM java:8
VOLUME /tmp
ADD docker_micro_maven-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://mongodb/micros", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

泊塢窗,compose.yml:

mongodb:
 image: mongo
employee:
 image: jdruwe/docker_micro_maven
 links:
  - mongodb
 ports:
  - "8080"

新增-聯網

Dockerfile:

FROM java:8
VOLUME /tmp
ADD docker_micro_maven-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://${MONGO_URI_DOCKER}/micros", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

泊塢窗,compose.yml:

mongodb:
 container_name: "db"
 image: mongo
employee:
 image: jdruwe/docker_micro_maven
 environment:
  - MONGO_URI_DOCKER=db:27017
 ports:
  - "8080"

當我在spring boot應用程序中調用我的rest端點(原始情況)時,我總是得到響應(一些json數據)。 現在調用它時,我得到以下錯誤響應:

{
  "timestamp": 1453405937191,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "org.springframework.dao.DataAccessResourceFailureException",
  "message": "Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=db:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.UnknownHostException: db: unknown error}}]; nested exception is com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=db:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.UnknownHostException: db: unknown error}}]",
  "path": "/employee"
}

來自Devoxx的視頻我用作參考: https ://youtu.be/aSATsLG59Zs?t=53m33s

看來我一直在做錯事,但是我不太確定這是什么,歡迎任何幫助。 提前致謝!

在docker-compose 1.5.x中,新網絡仍然是一項實驗性功能,需要使用--x-networking選項啟用。

如果您的docker-compose.yml使用了新的(2.0)文件格式,新的網絡功能將從docker-compose 1.6中移出實驗性功能,並且會自動使用。

閱讀docker-compose 1.6-rc1的發行說明以獲取更多信息; https://github.com/docker/compose/releases/tag/1.6.0-rc1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM