【发布时间】:2019-02-10 04:28:55
【问题描述】:
我正在尝试用 3 个容器构建一个 docker 应用程序:
- troparo_app(网络服务)
- library_app(网络客户端)
- troparo_db (postgres db)
不知何故,我在尝试从应用程序连接到网络服务时收到 404。
网络服务从主机响应 ok:
http://localhost:8080/troparo_app/services
从 SOAP UI 测试它并且工作正常
对于网络客户端(library_app),我无法访问主页:
http://localhost:8090/library-web-1.0-SNAPSHOT/login
然后我得到一个 404:
org.apache.cxf.transport.http.HTTPException: HTTP response '404: null' when communicating with http://localhost:8080/troparo_app/services/connect/ConnectService
我的 docker-compose 如下:
# Version of docker-compose
version: '3'
services:
# getting postgres DB
db:
image: postgres:11.1
#container_name: troparo_db
ports:
- 5432:5432
environment:
POSTGRES_USER: ocp
POSTGRES_PASSWORD: 123
POSTGRES_DB: troparo
POSTGRES_INITDB_ARGS: --data-checksums
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- pg-data:/var/lib/postgresql/data
networks:
- troparo
# getting troparo image
webservice:
image: troparo_app
container_name: troparo_app
build: .
ports:
- 8080:8080
depends_on:
- db
networks:
- troparo
# getting troparo image
webapp:
image: library_app
container_name: library_app
build: ../webo/library/.
ports:
- 8090:8080
depends_on:
- webservice
networks:
- troparo
volumes:
pg-data:
networks:
troparo:
library_app 的 Dockerfile:
FROM tomcat:9.0.14-jre8
RUN rm -rf /usr/local/tomcat/webapps/*
COPY ./library-web/target/library-web-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/library-web-1.0-SNAPSHOT.war
CMD ["catalina.sh","run"]
troparo_app 的 Dockerfile:
FROM tomcat:9.0.14-jre8
RUN rm -rf /usr/local/tomcat/webapps/*
COPY ./troparo-web/target/troparo_app.war /usr/local/tomcat/webapps/troparo_app.war
CMD ["catalina.sh","run"]
我连接到客户端容器并 ping 服务 -> 好的 我尝试了几种连接网络服务的组合:
http://troparo_app:8080
http://localhost:8080
但到目前为止一切都失败了。
我是 docker 新手,所以我想我忘记在网络中配置一些东西,但到目前为止我还想不通,所以如果有人能提供帮助,我将不胜感激! 谢谢
【问题讨论】:
标签: java web-services docker docker-compose