spring-boot - docker部署成功后无法连接本地主机上的应用程序

标签 spring-boot docker dockerfile war

我正在尝试在 docker 容器上部署 spring boot war 文件

这是我的 Docker 文件:

FROM tomcat:alpine

RUN wget -O /usr/local/tomcat/webapps/ROOT.war -U admin:Learning http://localhost:8082/artifactory/demoArtifactory/com/demo/0.0.1-SNAPSHOT/demo-0.0.1-SNAPSHOT.war

EXPOSE 8080

CMD ["catalina.sh", "run"]

enter image description here

enter image description here

我无法连接到 localhost:7000

更新: 这是 docker run 命令:

docker run -it --name demo-application -d -p 8080:8080 hmt/demo-application:49

"PortBindings": {
                "8080/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8080"
                    }
                ]
            }

现在我的 tomcat 已在 localhost:8080 上启动,但我无法访问我的应用程序

更新:

@SpringBootApplication
public class DemoApplication{

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

最佳答案

查看您的端口信息:
容器的端口 9100 发布到主机上的端口 7000 上。
但看看您的日志应用程序:它部署在 8080 上(而不是 9100)。
您想要的是在主机的 7000 端口上发布容器端口 8080,例如:

docker run -p 7000:8080 foo-image

关于spring-boot - docker部署成功后无法连接本地主机上的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63548197/

相关文章:

java - Spring Security HTTP Basic for RESTFul 和 FormLogin (Cookies) for web - 注释

java - ModelMapper 中的自定义转换器未被触发

linux - 使用 yum 在 centos 上安装特定包版本

docker - 创建最小的Docker容器的最佳实践

docker - 存储和拉取 docker 镜像的元信息

spring-cloud-stream 在测试中与 spring-boot-data-mongodb 冲突

spring-boot - Swagger 类型错误 : Failed to execute 'fetch' on 'Window' : Request with GET/HEAD method cannot have body

docker - Swarm 节点状态关闭,但节点应准备就绪

YAML 中的 docker-compose.yml 破折号语法

mysql - Docker MySQL 主机卷