【发布时间】:2019-08-29 00:02:53
【问题描述】:
我对这里发生的事情感到非常困惑,但我已将其范围缩小到一个非常小的测试用例。这是我的 docker-compose 文件:
version: "3.7"
networks:
cl_net_overlay:
driver: overlay
services:
redis:
image: "redis:alpine"
networks:
- cl_net_overlay
cl_net_overlay 网络不存在。当我运行它时:
docker-compose up
它停顿了一会儿,然后说:
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
To deploy your application across the swarm, use `docker stack deploy`.
Creating network "tmp_cl_net_overlay" with driver "overlay"
Recreating tmp_redis_1 ... error
ERROR: for tmp_redis_1 Cannot start service redis: attaching to network failed, make sure your network options are correct and check manager logs: context deadline exceeded
ERROR: for redis Cannot start service redis: attaching to network failed, make sure your network options are correct and check manager logs: context deadline exceeded
ERROR: Encountered errors while bringing up the project.
这个文件在我以前的笔记本电脑上运行良好。我的 docker 和 docker-compose 应该是最新的,因为这是一台全新的笔记本电脑。是不是我遗漏了一些谜题?
05:01:11::mlissner@gabbro::/tmp
↪ docker --version
Docker version 19.03.1, build 74b1e89
05:01:57::mlissner@gabbro::/tmp
↪ docker-compose --version
docker-compose version 1.24.1, build 4667896b
有什么想法吗?我整天都在努力让它工作,但我感觉自己有点疯了。
小型跟进。消息说:
确保您的网络选项正确并检查管理器日志
我不知道如何查看管理器日志。这可能是有用的第一步?
另一个跟进,每个 cmets。如果我尝试部署它,我将没有日志并且无法启动:
05:44:32::mlissner@gabbro::~/Programming/courtlistener/docker/courtlistener
↪ docker stack deploy --compose-file /tmp/docker-compose.yml test2
Creating network test2_cl_net_overlay2
Creating service test2_redis
05:44:50::mlissner@gabbro::~/Programming/courtlistener/docker/courtlistener
↪ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
5y7o01o5mifn test2_redis replicated 0/1 redis:alpine
05:44:57::mlissner@gabbro::~/Programming/courtlistener/docker/courtlistener
↪ docker service ps 5y
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
0kbph0ie8qth test2_redis.1 redis:alpine gabbro Ready Rejected 4 seconds ago "mkdir /var/lib/docker: read-o…"
inr81c3r4un7 \_ test2_redis.1 redis:alpine gabbro Shutdown Rejected 9 seconds ago "mkdir /var/lib/docker: read-o…"
tl1h6dp90ur2 \_ test2_redis.1 redis:alpine gabbro Shutdown Rejected 14 seconds ago "mkdir /var/lib/docker: read-o…"
jacv2yvkspix \_ test2_redis.1 redis:alpine gabbro Shutdown Rejected 19 seconds ago "mkdir /var/lib/docker: read-o…"
7cm6e8snf517 \_ test2_redis.1 redis:alpine gabbro Shutdown Rejected 19 seconds ago "mkdir /var/lib/docker: read-o…"
另一个想法:以 root 身份运行。同样的问题。
【问题讨论】:
-
检查您的节点可用性是否处于耗尽状态。你也使用 Linux 还是 Windows?
-
这是在 Ubuntu 19.04 上。检查节点状态:
docker node inspect --format {{.Spec.Availability}} iq返回active。谢谢! -
当您将它作为堆栈而不是组合运行时会发生什么?
-
谢谢@YamaçKurtuluş。如果我尝试部署它就会失败,没有日志,什么都没有。我用详细信息更新了原始问题。
-
您可以为任何服务容器运行
docker logs吗?当您不使用覆盖网络时它也有效吗?是否可以重新创建 swarm 和网络?
标签: docker docker-compose docker-networking