【发布时间】:2018-05-05 11:49:54
【问题描述】:
我正在尝试将我的工作 docker-compose 设置部署到一个 docker-swarm,一切似乎都很好,除了唯一复制并生成运行容器的服务是 redis 服务,其他 3 个被卡住并且永远不会生成任何正在运行的容器,它们甚至不下载各自的图像。 我找不到任何调试功能,所有日志都是空的,我完全无能为力。 让我向您展示我的当前安装状态。
docker 节点 ls 打印 =>
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
oapl4et92vjp6mv67h2vw8boq boot2docker Ready Active
x2fal9iwj6aqt1vgobyp1smv1 * manager1 Ready Active Leader
lmtuojednaiqmfmm2izl7npf0 worker1 Ready Active
码头工人撰写 =>
version: '3'
services:
mongo:
image: mongo
container_name: mongo
restart: always
volumes:
- /data/db:/data/db
deploy:
placement:
constraints: [node.role == manager]
ports:
- "27017:27017"
redis:
image: redis
container_name: redis
restart: always
bnbkeeper:
image: registry.example.tld/keepers:0.10
container_name: bnbkeeper
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
depends_on:
- mongo
- redis
ports:
- "8080:8080"
links:
- mongo
- redis
environment:
- REDIS_HOST=redis
- MONGO_HOST=mongo
bnbkeeper-ws:
image: registry.example.tld/keepers:0.10
container_name: bnbkeeper-ws
restart: unless-stopped
depends_on:
- mongo
- redis
ports:
- "3800:3800"
links:
- mongo
- redis
environment:
- REDIS_HOST=redis
command: npm run start:subscription
我的服务的当前状态
ID NAME MODE REPLICAS IMAGE PORTS
tbwfswsxx23f stack_bnbkeeper replicated 0/5 registry.example.tld/keepers:0.10
khrqtx28qoia stack_bnbkeeper-ws replicated 0/1 registry.example.tld/keepers:0.10
lipa8nvncpxb stack_mongo replicated 0/1 mongo:latest
xtz2411htcg7 stack_redis replicated 1/1 redis:latest
我的redis成功服务(docker service ps stack_redis)
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
cqv0njcgsw6f stack_redis.1 redis:latest worker1 Running Running 25 minutes ago
我的mongo服务不成功(docker service ps stack_mongo)
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
yipokxxiftqq stack_mongo.1 mongo:latest Running New 25 minutes ago
我对 docker swarm 完全陌生,可能在这里犯了一个愚蠢的错误,但我找不到太多关于如何设置如此简单的堆栈的文档。
【问题讨论】:
-
这里不会列出运行在worker上的容器,因为你是在manager节点的docker环境中。
-
是的,但这是否解释了为什么我的所有服务除了 redis 都没有被复制?
标签: docker docker-swarm docker-swarm-mode