当我运行命令
docker-compose up——build
在cmd命令中显示Tomcat在端口:8089 (http)上启动,上下文路径为'/*****
但是当我尝试连接到一些API在邮差它给我错误:socket挂起
这是我的docker-compose:
version: '3.3'
services:
web:
build:
dockerfile: Dockerfile
image: 2021.jar
image: tomcat:9.0-jdk8
volumes:
- ./ROOT:/usr/local/tomcat/webapps/ROOT
- ./repository:/usr/local/tomcat/webapps/ROOT/repository
ports:
- '8089:8080'
environment:
- JAVA_OPTS= -Ddb.host=localhost -Ddb.catalog=gohybridit_dev -Ddb.port=5432 -Ddb.username=postgres -Ddb.password=123
和这个我的Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} 2021.jar
ENTRYPOINT ["java","-jar","2021.jar"]
我猜您正在应用程序属性中设置端口8089。如果是,可以:
a)更新docker-compose改为说'8089:8089'
。
b)更新应用程序属性,将端口设置为8080(或者完全删除它,因为这是默认值)
基本上,这些端口是<outside container>:<inside container>
。我个人会根据第一个选项将所有端口匹配到8089,以减少混乱。
我用这个命令解决了我的问题
docker run -d -p portNum:portNum --restart always XXXXX.jar