我正在学习使用docker swarm和Im使用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
但是一切正常,我也看了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
谢谢;)
答案 0 :(得分:3)
不要将服务直接附加到ingress
网络。这似乎导致了这个问题,因为我在删除--network ingress
时没有遇到同样的问题。我可以重现以上内容(使用--network ingress
设置)并且我没有看到任何可能提供有关其失败原因的日志(服务或守护程序),因此不会太棒了,我想。也许在这里引发Docker问题以获得更好的日志记录/错误?
在发布服务端口时使用ingress
网络,因此让Docker直接管理附件。
编辑:顺便说一句,出于mysql的原因,这仍然会失败,因为mysql的原因(我相信创建表失败了吗?但服务本身正试图出现)。