首页 > 其他分享 >Docker-Swarm启动服务一直处于New状态

Docker-Swarm启动服务一直处于New状态

时间:2023-08-24 10:55:28浏览次数:44  
标签:10.0 ingress 服务 启动 -- Swarm New Docker docker

一、情况描述

​ 近期有个项目的开发环境需要迁移nas挂载盘,需要把开发环境的服务停止,待迁移完成后重启服务。

​ 该环境使用的docker-swarm启动服务,之前考虑的是swarm是docker原生支持的,启动方便,命令也较为简单,能够满足使用需求。待更换nas盘完成,通知我启动服务。

​ 按照正常的启动脚本,启动我们的服务,会发现集群中有两个服务一直处于new状态无法正常启动。

二、解决思路

​ 使用获取服务日志命令和展示所有服务状态的命令,看到的均为空日志,说明该容器可能压根就没有分配到相应的启动资源。

docker stack ps xxx
docker service logs xxx

​ 考虑到要快速恢复服务,首先想到的是重启docker的stack,重启之后,发现有更多的服务处于new状态无法启动,且在docker的stack中没有日志显示。

​ 此时考虑从系统层面,直接拿docker的服务日志来分析

journalctl -f -u docker | grep error

发现在docker中有大量关于ingress无法分配新的vip的报错

lQLPJxaayqdvii3NBrDNDviw2CcaNoBP79kC_q1HXMAzAA_3832_1712

解决方法:

1.1 重启docker能够临时解决;

1.2 停止已启动的docker容器, 然后删除ingress网络:docker network rm ingress,重新生成ingress网络:

docker network create --driver overlay --ingress --subnet=[10.0.0.0](https://wiki.datagrand.com/10.0.0.0)/16 --gateway=[10.0.0.1](https://wiki.datagrand.com/10.0.0.1) --opt com.docker.network.mtu=1400 ingress

三、学习感悟

标签:10.0,ingress,服务,启动,--,Swarm,New,Docker,docker
From: https://www.cnblogs.com/chiyun/p/17653614.html

相关文章

  • docker-swarm的负载均衡(LB)策略-dnsrr与vip
    在DockerSwarm中,DNSRR(DNSRoundRobin)和VIP(VirtualIP)是两种常见的负载均衡策略,它们各自有不同的作用和特点。DNSRR(DNSRoundRobin)负载均衡策略:作用:DNSRR策略通过对域名解析返回多个后端服务的IP地址来实现负载均衡。每个请求都会被依次分发到这些IP地址中的一个。特点:简单......
  • docker 常用命令--todo....
    docker常用命令docker设置开机自启docker-v启动dockersystemctlstartdocker查看docker状态systemctlstatusdockerdocker设置开机自启systemctlenbaledocker修改docker仓库的地址---------------------------基础设置--------------------------开机自启su......
  • Docker 安装 Nginx 教程
    Docker安装1.拉取镜像PSC:\Users\Administrator>dockerpullnginx2.创建挂载目录PSC:\Users\Administrator>mkdir-p/docker/nginx/confPSC:\Users\Administrator>mkdir-p/docker/nginx/logsPSC:\Users\Administrator>mkdir-p/docker/nginx/con......
  • linux服务器docker compose的使用步骤
    之前说了docker的安装,dockercompose的安装,还比较了dockerfile和dockercompose的区别,那么dockercompose的实际应用是怎么样呢?记录下我的实操步骤1、服务器上新建目录,目录情况如下,我的data目录是挂载到数据盘的/data/docker_config/nginx//存放nginx的配置文件/dat......
  • docker 安装【菜鸟级教程】
    前言1.安装及环境1.1.Linux安装1.2.Windows安装2.初识Docker2.1.进入dockerhttps://www.cnblogs.com/xhyan/p/6593075.2.2.命令行基本操作安装依赖yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2Docker实例Docker安装CentosCentOS镜像库地址:https:/......
  • 随笔(二十九)『docker 3主3从redis配置 』
    1、拉取镜像dockerpullredis:6.0.82、创建并启动容器dockerrun-d--nameredis-node-1--nethost--privileged=true-v/mydata/redis/redis-node-1/data:/dataredis:6.0.8--cluster-enabledyes--appendonlyyes--port6381dockerrun-d--nameredis-node-2--n......
  • Docker命令
    1.container命令创建容器:dockerrun[name]查看活跃容器dockerps停止容器dockerstop[id]删除容器dockerrmid2.进入容器2.1dockerattach有多个窗口时一个窗口阻塞其他也无法进入2.2SSH进入在镜像中安装SSHServer保证多人进入2.3nsenter进入可以在指定......
  • docker compose 部署mysql数据库
    docker-compose.ymlversion:"3"services:mysql:image:mysql:5.7container_name:mysqlhostname:mysqlports:-3306:3306volumes:-/home/mysql/data:/var/lib/mysql-/home/mysql/conf/my.cnf:/etc/my.cnf......
  • docker安装
    1、配置网络添加外网配置外网TYPE=EthernetBOOTPROTO=dhcpNAME=ens34DEVICE=ens34ONBOOT=yes(我的外网是ens34所以说里面的配置便是34如有不同可以修改)重启网络服务ystemctlrestartnetwork重启之后可以ping一下百度来看一下自己的服务是否有网有网之后就可以安装docker了2......
  • docker 命令学习
    1.dockerpullnginx 拉取镜像2.dockerrun -d -it --namenginx01-p4433:80nginx 运行容器3.dockerps查看运行的容器4.docker stop nginx01 停止容器5.dockerstart nginx01 启动容器6.dockerrmnginx01删除容器7.dockerstats 查看容器......