标签: docker-swarm

swarm 中的副本数量不是从工作节点开始的 (1/4)

我在具有 1 个主节点和 3 个工作节点的 docker swarm 集群上启动了 Flask API 服务。我已经使用以下 docker compose 文件部署了任务,

version: '3'

services:
  xgboost-model-api:
image: xgboost-model-api
  ports:
    - "5000:5000"
deploy:
  mode: global
networks:
  - xgboost-net

networks:
   xgboost-net:
Run Code Online (Sandbox Code Playgroud)

我使用以下 docker swarm 命令部署了该任务,

docker stack deploy --compose-file docker-compose.yml xgboost-swarm
Run Code Online (Sandbox Code Playgroud)

但是,该任务仅在我的主节点上启动,而不在任何工作节点上启动。

$ docker service ls
ID            NAME                             MODE        REPLICAS  IMAGE
pgd8cktr4foz  viz                              replicated  1/1       
dockersamples/visualizer
twrpr4av4c7f  xgboost-swarm_xgboost-model-api  global      1/4       xgboost-model-api
xxrfn1w7eqw6  dockercloud-server-proxy         global      1/1       dockercloud/server-proxy 
Run Code Online (Sandbox Code Playgroud)

使用的 Dockerfile 在这里。任何关于为什么会发生这种行为的想法将不胜感激。

docker swarm docker-compose docker-swarm docker-swarm-mode

0
推荐指数
1
解决办法
2311
查看次数

我可以在不使用 docker swarm 的情况下设置 docker 覆盖网络吗?

我有两组服务(容器组)在两台不同的机器上运行。两组服务都是使用 docker-compose 文件声明的。目前,在每个 docker-compose 文件中,我都包含一个桥接网络。这两组服务通过明确提及每台机器的 IP 地址来相互通信。

  1. 如果我让这两个 Docker 服务集通过覆盖网络相互通信,而不是像我现在那样通过硬编码 IP 地址来让每个服务集相互通信,这会减少网络延迟吗?换句话说,会提高这两个服务之间的通信性能吗?

  2. 如果上一个问题的答案是肯定的,那么我可以在不使用 docker swarm 的情况下在这两台机器之间定义一个覆盖网络吗?另外,我可以在 docker-compose 文件中声明这个 docker-swarm 网络吗?

如果您有 .yaml 配置文件或命令行代码片段可以完成我想要的操作,我们将不胜感激。

docker docker-compose docker-swarm

0
推荐指数
1
解决办法
2995
查看次数

如何在 Docker Swarm 中正确配置 HAProxy 以自动将流量路由到复制服务(通过 SSL)?

我正在尝试部署具有单个复制服务的三个主机节点的 Docker Swarm,并在其前面放置一个 HAProxy。我希望客户端能够通过 SSL 进行连接。

我的docker-compose.yml

version: '3.9'

services:
  proxy:
    image: haproxy
    ports:
      - 443:8080
    volumes:
      - haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - servers-network
  node-server:
    image: glusk/hackathon-2021:latest
    ports:
      - 8080:8080
    command: npm run server
    deploy:
      mode: replicated
      replicas: 2
    networks:
      - servers-network
networks:
  servers-network:
    driver: overlay
Run Code Online (Sandbox Code Playgroud)

我的haproxy.cfg(基于官方示例):

# Simple configuration for an HTTP proxy listening on port 80 on all
# interfaces and forwarding requests to a single backend "servers" …
Run Code Online (Sandbox Code Playgroud)

haproxy docker docker-compose docker-swarm

0
推荐指数
1
解决办法
2797
查看次数

不在 Docker Swarm 中的主节点上部署容器

我正在开发一个项目,该项目使用 Raspberry Pi 作为工作节点,使用我的笔记本电脑作为主节点。我希望从笔记本电脑控制容器的部署,但我希望容器仅在工作节点上运行(这意味着主节点上没有容器)。我该如何使用 Docker Swarm 来做到这一点?

docker docker-swarm

0
推荐指数
1
解决办法
842
查看次数

minikube 启动失败:由于 HOST_JUJU_LOCK_PERMISSION 退出

我想安装 minikube,在启动命令后出现以下错误文本:

\n
  minikube v1.26.1 on Ubuntu 22.04\n\xe2\x9d\x97  minikube skips various validations when --force is supplied; this may lead to unexpected behavior\n\xe2\x9c\xa8  Using the docker driver based on existing profile\n  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.\n  If you are running minikube within a VM, consider using --driver=none:\n    https://minikube.sigs.k8s.io/docs/reference/drivers/none/\n  Tip: To remove this root owned cluster, run: sudo minikube delete\n  Starting control plane node minikube in cluster minikube\n …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-swarm devops minikube

-1
推荐指数
1
解决办法
7815
查看次数