首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在码头群中运行我的vertx3 http处理程序时,拒绝连接

在码头群中运行我的vertx3 http处理程序时,拒绝连接
EN

Stack Overflow用户
提问于 2018-06-09 23:52:28
回答 1查看 503关注 0票数 0

我试图在码头群上部署一个vertx3服务,但当我运行时

代码语言:javascript
复制
$ curl localhost:4000
   curl: (7) Failed to connect to localhost port 4000: Connection refused

我想不出怎样才能让它发挥作用,让人感激。请参阅下面的代码和更多信息。

这是我的vertx3应用程序

代码语言:javascript
复制
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;

public class MainVerticle extends AbstractVerticle {
  @Override
  public void start(Future<Void> fut) {
    vertx.createHttpServer().requestHandler(r -> {
        r.response().end("<h1>Powered by Vert.x3</h1>");
    }).listen(8080, result -> {
      if (result.succeeded()) {
          fut.complete();
      } else {
            fut.fail(result.cause());
          }
      });
  }
}

这是我的文件

代码语言:javascript
复制
FROM vertx/vertx3
ENV VERTICLE_NAME com.shop.services.products.MainVerticle
ENV VERTICLE_FILE target/products-3.5.1.jar
ENV VERTICLE_HOME /usr/verticles
EXPOSE 8080
COPY $VERTICLE_FILE $VERTICLE_HOME/
WORKDIR $VERTICLE_HOME
ENTRYPOINT ["sh", "-c"]
CMD ["exec vertx run $VERTICLE_NAME -cp $VERTICLE_HOME/*"]

这是我的船坞-Compose.yml

代码语言:javascript
复制
version: "3"
services:
  web:
    image: sergionava89/products:v1
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure
    ports:
      - "4000:8080"
    networks:
      - webnet
networks:
  webnet:

我试着运行一个本地的码头群

代码语言:javascript
复制
docker swarm init

然后我收到这条消息

代码语言:javascript
复制
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on interface enp0s25 (2a02:c7d:501a:f200:84fc:532e:737a:7a21 and 2a02:c7d:501a:f200:ad08:5748:44d4:6726) - specify one with --advertise-addr

因此,我运行以下命令

代码语言:javascript
复制
docker swarm init --advertise-addr 2a02:c7d:501a:f200:84fc:532e:737a:7a21

然后启动容器

代码语言:javascript
复制
docker stack deploy -c docker-compose.yml shop

我得到了

代码语言:javascript
复制
Creating network shop_webnet
Creating service shop_web

当我试图到达端点时,我得到

代码语言:javascript
复制
$ curl localhost:4000
   curl: (7) Failed to connect to localhost port 4000: Connection refused

码头服务输出

代码语言:javascript
复制
docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                      PORTS
sj8k1hd26cbk        shop_web            replicated          5/5                 sergionava89/products:v1   *:4000->8080/tcp

docker service ps shop_web
ID                  NAME                IMAGE                      NODE                    DESIRED STATE       CURRENT STATE           ERROR               PORTS
sjsoh7atv24x        shop_web.1          sergionava89/products:v1   sergio-ThinkPad-T431s   Running             Running 9 minutes ago                       
owakk9xqty69        shop_web.2          sergionava89/products:v1   sergio-ThinkPad-T431s   Running             Running 9 minutes ago                       
yvlopiq6vtjh        shop_web.3          sergionava89/products:v1   sergio-ThinkPad-T431s   Running             Running 9 minutes ago                       
op7yv8vuliuk        shop_web.4          sergionava89/products:v1   sergio-ThinkPad-T431s   Running             Running 9 minutes ago                       
z8imj3b572tg        shop_web.5          sergionava89/products:v1   sergio-ThinkPad-T431s   Running             Running 9 minutes ago
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-11 18:53:57

如注释127.0.0.1:4000作品中所建议的那样

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50779480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档