是的,我已经尝试过这个Question,而ir没有重复的问题
我正在学习使用docker swarm,我正在使用docker-play
我有一个经理(node1)和2个 worker (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
但任何工作,我也看了这个question,但我没有发现参数错误
更多信息:
$ 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原因,这样做仍然会失败,因为mysql的原因(我相信无法创建表?但是服务本身正在尝试启动)。
关于docker - docker swarm中的服务副本永远保持0/1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44359037/