docker 群中的服务副本永远保持 0/1
replicas of a service in docker swarm remain 0/1 forever
是的,我已经试过了而且我没有重复的问题
我正在学习使用 docker swarm,我正在使用 docker-play
我有一个经理(node1)和 2 个工人(node2 和 node3)
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
j4maivz26wactwn9ghgosg219 node2 Ready Active
p6cpvetwrsqu6oiqzfq2bxxsv node3 Ready Active
r7y5zktfore76l9z3n0keu7ae * node1 Ready Active Leader
所以我创建了一个服务
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql
并且副本永远保持 0/1
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
jub3wh8yz2cd mysql replicated 0/1 mysql:latest
所以我试试:
docker service create --network ingress --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
然后我尝试:
docker service create --network ingress --replicas 1 --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
我试试最简单的代码行:
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodoceker mysql
但一切正常,我也看了这个 但我没有发现 none 参数错误
更多信息:
$ docker service ps mysql
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
PORTS
j523hr6mnfqk mysql mysql:latest Running New 13 minutes ago
.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest ca96afcfa242 2 weeks ago 406MB
mysql latest e799c7f9ae9c 3 weeks ago 407MB
谢谢 ;)
不要将服务直接附加到 ingress
网络。这似乎是导致问题的原因,因为我在删除 --network ingress
时没有遇到同样的情况。我可以重现上面的内容(设置 --network ingress
)并且我没有看到任何可能提供失败原因线索的日志(服务或守护进程),所以我猜这不是很好。也许在这里提出 Docker 的问题以获得更好的日志记录/错误?
在为服务发布端口时使用 ingress
网络,因此让 Docker 直接管理该网络的附件。
编辑:顺便说一句,出于 mysql 的原因(我相信创建 table 失败?但服务本身正在尝试启动)。 =14=]
是的,我已经试过了
我正在学习使用 docker swarm,我正在使用 docker-play
我有一个经理(node1)和 2 个工人(node2 和 node3)
$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
j4maivz26wactwn9ghgosg219 node2 Ready Active
p6cpvetwrsqu6oiqzfq2bxxsv node3 Ready Active
r7y5zktfore76l9z3n0keu7ae * node1 Ready Active Leader
所以我创建了一个服务
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql
并且副本永远保持 0/1
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
jub3wh8yz2cd mysql replicated 0/1 mysql:latest
所以我试试:
docker service create --network ingress --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
然后我尝试:
docker service create --network ingress --replicas 1 --name mysql2 -e MYSQL_ROOT_PASSWORD=demodocker -e MYSQL_DATABASE=wordpressdatabase -e M
YSQL_USER=root -e MYSQL_PASSWORD=demodocker mysql:latest top
我试试最简单的代码行:
docker service create --network ingress --name mysql -e MYSQL_ROOT_PASSWORD=demodoceker mysql
但一切正常,我也看了这个
更多信息:
$ docker service ps mysql
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR
PORTS
j523hr6mnfqk mysql mysql:latest Running New 13 minutes ago
.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest ca96afcfa242 2 weeks ago 406MB
mysql latest e799c7f9ae9c 3 weeks ago 407MB
谢谢 ;)
不要将服务直接附加到 ingress
网络。这似乎是导致问题的原因,因为我在删除 --network ingress
时没有遇到同样的情况。我可以重现上面的内容(设置 --network ingress
)并且我没有看到任何可能提供失败原因线索的日志(服务或守护进程),所以我猜这不是很好。也许在这里提出 Docker 的问题以获得更好的日志记录/错误?
在为服务发布端口时使用 ingress
网络,因此让 Docker 直接管理该网络的附件。
编辑:顺便说一句,出于 mysql 的原因(我相信创建 table 失败?但服务本身正在尝试启动)。 =14=]