最近在弄docker swarm容器编排的问题。partainer是我目前找到的比较全的swarm的可视化原件,不过最近发现partainer的容器一直在不断重启。
1. 使用docker ps 查看
可以看到容器在一直运行。
2.使用docker inspect +容器id查看
发现restart的策略没有。于是执行
docker update --restart=no +容器id命令
执行完毕之后再次执行
docker inspect查看一下容器情况
发现重启策略已经变了,心想这应该是能停止容器了吧。
执行命令docker stop +容器id,万万没想到,容器居然还能自动重启,不管如何设置容器的启动策略,stop容器之后没有任何用处,这是怎么回事呢。
分析问题:
docker update --restart=no,这个命令是生效的,但是无法解决容器重启问题。那就有可能容器的重启可能不仅仅跟docker 有关系。前面我说我搭建了docker swarm,那么会不会是doker swarm影响的。
执行命令查看docker swarm service ls
发现portainer是docker swarm service 服务启动的(最开始创建portainer容器的时候忘记了是docker service 创建的还是直接用docker服务启动的)。docker service是一组服务,是用来控制服务内节点的容器启动,关闭 ,具体可以用docker swarm service --help查看具体命令
执行docker service rm +服务id 来删除docker service的服务,问题解决。