docker服务启动过程分析

How  docker.service start? just by ref

我们先了解docker的各个核心组件的介绍

runc:runc实现了容器的底层功能,例如创建、运行等。runc通过调用内核接口为容器创建和管理cgroup、namespace等Linux内核功能,来实现容器的核心特性。runc是一个可以直接运行的二进制程序,对外提供的接口就是程序运行时提供的子命令和命令参数。runc内通过调用内置的libcontainer库功能来操作cgroup、namespace等内核特性。

dockerd:dockerd是运行于服务器上的后台守护进程(daemon),负责实现容器镜像的拉取和管理以及容器创建、运行等各类操作。dockerd向外提供RESTful API,其他程序(例如docker客户端)可以通过API来调用dockerd的各种功能,实现对容器的操作。但时至今日,在dockerd中实现的容器管理功能也已经不多,主要是镜像下载和管理相关的功能,其他的容器操作能力已经分离到containerd组件中,通过grpc接口来调用。又被称为docker engine、docker daemon。

containerd:另外一个后台守护进程,是真正实现容器创建、运行、销毁等各类操作的组件,它也包含了独立于dockerd的镜像下载、上传和管理功能。containerd向外暴露grpc形式的接口来提供容器操作能力。dockerd在启动时会自动启动containerd作为其容器管理工具,当然containerd也可以独立运行。containerd是从docker中分离出来的容器管理相关的核心能力组件,https://www.docker.com/blog/docker-containerd-integration/和https://www.docker.com/blog/what-is-containerd-runtime/介绍了将其从docker中独立出来的原因。但是为了支持容器功能实现的灵活性和开放性,更底层的容器操作实现(例如cgroup的创建和管理、namespace的创建和使用等)并不是由containerd提供的,而是通过调用另一个组件runc来实现。

因此,我们的docker服务启动就包括启动dockerd和containerd这两个守护进程。

docker是一个cs架构,我们启动docker的服务,就是启动docker s端,而s端其实就是在启动dockerd这个进程,dockerd为我们提供手动启动debug方式,可以看到docker s端启动日志,即dockerd --debug,因此,我们只要分析这个debug日志即可了解docker服务是怎么启动的,启动日志见附录。

这里我们以docker 20为例分析一下

[root@localhost ~]# docker version 
Client: Docker Engine - Community
 Version:           20.10.18
 API version:       1.41
 Go version:        go1.18.6
 Git commit:        b40c2f6
 Built:             Thu Sep  8 23:14:08 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.18
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.6
  Git commit:       e42327a
  Built:            Thu Sep  8 23:12:21 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
[root@localhost ~]# 

docker服务启动流程:

cmd/dockerd/daemon.go ------> start()

1. 启动containerd,通过查看containerd的服务文件

containerd启动过程会干啥呢?

为了解耦,containerd 将系统划分成了不同的组件,每个组件都由一个或多个模块协作完成(Core 部分),每一种类型的模块都以插件的形式集成到 Containerd 中,而且插件之间是相互依赖的,有多种类型的插件,包括 Service Plugin、Metadata Plugin、GC Plugin、Runtime Plugin 等,其中 Service Plugin 又会依赖 Metadata Plugin、GC Plugin 和 Runtime Plugin。

因此containerd启动过程就干了三件事:

1. modprobe overlay

2. 启动containerd守护进程

3. 进行持久化数据,创建插件目录,/var/lib/containerd

初始化完成containerd之后,就进入到dockerd的初始化了

daemon/daemon.go --------> NewDaemon()

dockerd daemon启动过程比较复杂,主要干的事情如下:

1. 监听metrics.sock

2. 设置默认的日志驱动

3. 从 /var/lib/docker/containers 读取所有目录,启动daemon的时候需要重新注册,包括restart,remove,因此这里可能是起不来的原因,所以我们没有更好的办法就删除这个目录。

4. 检测网桥信息

5. 配置Docker容器的MTU

6. 查验容器通信配置,即iptables规则的添加,docker在启动过程中会将一些docker网络需要的规则写入iptables表

7. 初始化router

8. API server 开始监听,提供api访问服务

setupIP4Tables //设定iptables规则

若再次出现该问题,确认以下几个情况:

1. docker ps 能否看到相关容器

2. 若第一步可以看到,docker exec能否进去,docker stop 相关容器是否正常执行

3. free -h

 一般来讲,我们通过执行dockerd --debug就可以看到问题出现在哪一步

提供以下解决方法(尝试):

  1. 最首先的还是看docker服务启动日志,systemctl status docker,journalctl -xefu docker
  2. Yum remove docker,卸载docker相关安装包,然后重新安装docker相关包。
  3. 执行dockerd –debug查看能否正常启动
  4. 杀掉docker相关进程,备份/var/lib/docker目录,删除该目录
  5. 以上要是都不行,reboot或者reset机器吧  good luck😂

附录:

[root@localhost ~]# dockerd --debug 
INFO[2022-10-15T19:41:21.079272629+08:00] Starting up                                  
DEBU[2022-10-15T19:41:21.079968675+08:00] Listener created for HTTP on unix (/var/run/docker.sock) 
DEBU[2022-10-15T19:41:21.079997108+08:00] Containerd not running, starting daemon managed containerd 
INFO[2022-10-15T19:41:21.082116760+08:00] libcontainerd: started new containerd process  pid=5627
INFO[2022-10-15T19:41:21.082154147+08:00] parsed scheme: "unix"                         module=grpc
INFO[2022-10-15T19:41:21.082161249+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2022-10-15T19:41:21.082286621+08:00] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2022-10-15T19:41:21.082298831+08:00] ClientConn switching balancer to "pick_first"  module=grpc
WARN[0000] containerd config version `1` has been deprecated and will be removed in containerd v2.0, please switch to version `2`, see https://github.com/containerd/containerd/blob/main/docs/PLUGINS.md#version-header 
INFO[2022-10-15T19:41:21.108770179+08:00] starting containerd                           revision=9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6 version=1.6.8
INFO[2022-10-15T19:41:21.120115709+08:00] loading plugin "io.containerd.content.v1.content"...  type=io.containerd.content.v1
INFO[2022-10-15T19:41:21.120264378+08:00] loading plugin "io.containerd.snapshotter.v1.aufs"...  type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.121785212+08:00] skip loading plugin "io.containerd.snapshotter.v1.aufs"...  error="aufs is not supported (modprobe aufs failed: exit status 1 \"modprobe: FATAL: Module aufs not found.\\n\"): skip plugin" type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.121855407+08:00] loading plugin "io.containerd.snapshotter.v1.btrfs"...  type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122041014+08:00] skip loading plugin "io.containerd.snapshotter.v1.btrfs"...  error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs (xfs) must be a btrfs filesystem to be used with the btrfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122069943+08:00] loading plugin "io.containerd.snapshotter.v1.devmapper"...  type=io.containerd.snapshotter.v1
WARN[2022-10-15T19:41:21.122080886+08:00] failed to load plugin io.containerd.snapshotter.v1.devmapper  error="devmapper not configured"
INFO[2022-10-15T19:41:21.122121203+08:00] loading plugin "io.containerd.snapshotter.v1.native"...  type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122143621+08:00] loading plugin "io.containerd.snapshotter.v1.overlayfs"...  type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122274499+08:00] loading plugin "io.containerd.snapshotter.v1.zfs"...  type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122463964+08:00] skip loading plugin "io.containerd.snapshotter.v1.zfs"...  error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
INFO[2022-10-15T19:41:21.122491251+08:00] loading plugin "io.containerd.metadata.v1.bolt"...  type=io.containerd.metadata.v1
WARN[2022-10-15T19:41:21.122505607+08:00] could not use snapshotter devmapper in metadata plugin  error="devmapper not configured"
INFO[2022-10-15T19:41:21.122512668+08:00] metadata content store policy set             policy=shared
INFO[2022-10-15T19:41:21.122635884+08:00] loading plugin "io.containerd.differ.v1.walking"...  type=io.containerd.differ.v1
INFO[2022-10-15T19:41:21.122666420+08:00] loading plugin "io.containerd.event.v1.exchange"...  type=io.containerd.event.v1
INFO[2022-10-15T19:41:21.122676399+08:00] loading plugin "io.containerd.gc.v1.scheduler"...  type=io.containerd.gc.v1
INFO[2022-10-15T19:41:21.122692291+08:00] loading plugin "io.containerd.service.v1.introspection-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122704696+08:00] loading plugin "io.containerd.service.v1.containers-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122715472+08:00] loading plugin "io.containerd.service.v1.content-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122724400+08:00] loading plugin "io.containerd.service.v1.diff-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122734707+08:00] loading plugin "io.containerd.service.v1.images-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122743698+08:00] loading plugin "io.containerd.service.v1.leases-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122752006+08:00] loading plugin "io.containerd.service.v1.namespaces-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122826791+08:00] loading plugin "io.containerd.service.v1.snapshots-service"...  type=io.containerd.service.v1
INFO[2022-10-15T19:41:21.122837025+08:00] loading plugin "io.containerd.runtime.v1.linux"...  type=io.containerd.runtime.v1
INFO[2022-10-15T19:41:21.122928456+08:00] loading plugin "io.containerd.runtime.v2.task"...  type=io.containerd.runtime.v2
INFO[2022-10-15T19:41:21.123030248+08:00] loading plugin "io.containerd.monitor.v1.cgroups"...  type=io.containerd.monitor.v1
INFO[2022-10-15T19:41:21.123390292+08:00] loading plugin "io.containerd.service.v1.tasks-service"...  type=io.containerd.service.v1
DEBU[2022-10-15T19:41:21.123420919+08:00] No RDT config file specified, RDT not configured 
INFO[2022-10-15T19:41:21.123432023+08:00] loading plugin "io.containerd.grpc.v1.introspection"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123441039+08:00] loading plugin "io.containerd.internal.v1.restart"...  type=io.containerd.internal.v1
INFO[2022-10-15T19:41:21.123500897+08:00] loading plugin "io.containerd.grpc.v1.containers"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123513863+08:00] loading plugin "io.containerd.grpc.v1.content"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123522647+08:00] loading plugin "io.containerd.grpc.v1.diff"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123530624+08:00] loading plugin "io.containerd.grpc.v1.events"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123561736+08:00] loading plugin "io.containerd.grpc.v1.healthcheck"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123572655+08:00] loading plugin "io.containerd.grpc.v1.images"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123625930+08:00] loading plugin "io.containerd.grpc.v1.leases"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123636931+08:00] loading plugin "io.containerd.grpc.v1.namespaces"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123645759+08:00] loading plugin "io.containerd.internal.v1.opt"...  type=io.containerd.internal.v1
INFO[2022-10-15T19:41:21.123729151+08:00] loading plugin "io.containerd.grpc.v1.snapshots"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123787334+08:00] loading plugin "io.containerd.grpc.v1.tasks"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123799937+08:00] loading plugin "io.containerd.grpc.v1.version"...  type=io.containerd.grpc.v1
INFO[2022-10-15T19:41:21.123809239+08:00] loading plugin "io.containerd.tracing.processor.v1.otlp"...  type=io.containerd.tracing.processor.v1
INFO[2022-10-15T19:41:21.123818607+08:00] skip loading plugin "io.containerd.tracing.processor.v1.otlp"...  error="no OpenTelemetry endpoint: skip plugin" type=io.containerd.tracing.processor.v1
INFO[2022-10-15T19:41:21.123825792+08:00] loading plugin "io.containerd.internal.v1.tracing"...  type=io.containerd.internal.v1
ERRO[2022-10-15T19:41:21.123901506+08:00] failed to initialize a tracing processor "otlp"  error="no OpenTelemetry endpoint: skip plugin"
INFO[2022-10-15T19:41:21.124203328+08:00] serving...                                    address=/var/run/docker/containerd/containerd-debug.sock
INFO[2022-10-15T19:41:21.124278708+08:00] serving...                                    address=/var/run/docker/containerd/containerd.sock.ttrpc
INFO[2022-10-15T19:41:21.124319613+08:00] serving...                                    address=/var/run/docker/containerd/containerd.sock
DEBU[2022-10-15T19:41:21.124329165+08:00] sd notification                               error="<nil>" notified=false state="READY=1"
INFO[2022-10-15T19:41:21.124336787+08:00] containerd successfully booted in 0.016405s  
DEBU[2022-10-15T19:41:21.128177139+08:00] Created containerd monitoring client          address=/var/run/docker/containerd/containerd.sock
DEBU[2022-10-15T19:41:21.129146455+08:00] Started daemon managed containerd            
DEBU[2022-10-15T19:41:21.129827323+08:00] Golang's threads limit set to 13860          
INFO[2022-10-15T19:41:21.130070687+08:00] parsed scheme: "unix"                         module=grpc
INFO[2022-10-15T19:41:21.130095506+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2022-10-15T19:41:21.130119927+08:00] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2022-10-15T19:41:21.130139261+08:00] ClientConn switching balancer to "pick_first"  module=grpc
DEBU[2022-10-15T19:41:21.130245559+08:00] metrics API listening on /var/run/docker/metrics.sock 
INFO[2022-10-15T19:41:21.131118963+08:00] parsed scheme: "unix"                         module=grpc
INFO[2022-10-15T19:41:21.131145630+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2022-10-15T19:41:21.131160086+08:00] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2022-10-15T19:41:21.131168435+08:00] ClientConn switching balancer to "pick_first"  module=grpc
DEBU[2022-10-15T19:41:21.131769249+08:00] Using default logging driver json-file       
DEBU[2022-10-15T19:41:21.131825675+08:00] [graphdriver] priority list: [btrfs zfs overlay2 fuse-overlayfs aufs overlay devicemapper vfs] 
DEBU[2022-10-15T19:41:21.131939464+08:00] processing event stream                       module=libcontainerd namespace=plugins.moby
DEBU[2022-10-15T19:41:21.147248709+08:00] backingFs=xfs, projectQuotaSupported=false, indexOff="", userxattr=""  storage-driver=overlay2
INFO[2022-10-15T19:41:21.147298646+08:00] [graphdriver] using prior storage driver: overlay2 
DEBU[2022-10-15T19:41:21.147315713+08:00] Initialized graph driver overlay2            
DEBU[2022-10-15T19:41:21.147884425+08:00] No quota support for local volumes in /var/lib/docker/volumes: Filesystem does not support, or has not enabled quotas 
DEBU[2022-10-15T19:41:21.149555240+08:00] Max Concurrent Downloads: 3                  
DEBU[2022-10-15T19:41:21.149580808+08:00] Max Concurrent Uploads: 5                    
DEBU[2022-10-15T19:41:21.149585975+08:00] Max Download Attempts: 5                     
INFO[2022-10-15T19:41:21.149601246+08:00] Loading containers: start.                   
DEBU[2022-10-15T19:41:21.149663310+08:00] processing event stream                       module=libcontainerd namespace=moby
DEBU[2022-10-15T19:41:21.150275149+08:00] loaded container                              container=3f64d28ba31ef92740afe1f908db51f1192e69e546291805a6da11a934486e85 paused=false running=false
DEBU[2022-10-15T19:41:21.153608049+08:00] restoring container                           container=3f64d28ba31ef92740afe1f908db51f1192e69e546291805a6da11a934486e85 paused=false restarting=false running=false
DEBU[2022-10-15T19:41:21.154209488+08:00] alive: false                                  container=3f64d28ba31ef92740afe1f908db51f1192e69e546291805a6da11a934486e85 paused=false restarting=false running=false
DEBU[2022-10-15T19:41:21.154238916+08:00] done restoring container                      container=3f64d28ba31ef92740afe1f908db51f1192e69e546291805a6da11a934486e85 paused=false restarting=false running=false
DEBU[2022-10-15T19:41:21.154287260+08:00] Option Experimental: false                   
DEBU[2022-10-15T19:41:21.154344190+08:00] Option DefaultDriver: bridge                 
DEBU[2022-10-15T19:41:21.154354959+08:00] Option DefaultNetwork: bridge                
DEBU[2022-10-15T19:41:21.154359153+08:00] Network Control Plane MTU: 1500              
DEBU[2022-10-15T19:41:21.159662888+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -j DOCKER-ISOLATION] 
DEBU[2022-10-15T19:41:21.160621845+08:00] /usr/sbin/iptables, [--wait -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.161795289+08:00] /usr/sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] 
DEBU[2022-10-15T19:41:21.162863310+08:00] /usr/sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.163936247+08:00] /usr/sbin/iptables, [--wait -t nat -D PREROUTING] 
DEBU[2022-10-15T19:41:21.165127694+08:00] /usr/sbin/iptables, [--wait -t nat -D OUTPUT] 
DEBU[2022-10-15T19:41:21.166008360+08:00] /usr/sbin/iptables, [--wait -t nat -F DOCKER] 
DEBU[2022-10-15T19:41:21.166992600+08:00] /usr/sbin/iptables, [--wait -t nat -X DOCKER] 
DEBU[2022-10-15T19:41:21.167986798+08:00] /usr/sbin/iptables, [--wait -t filter -F DOCKER] 
DEBU[2022-10-15T19:41:21.168998918+08:00] /usr/sbin/iptables, [--wait -t filter -X DOCKER] 
DEBU[2022-10-15T19:41:21.170119988+08:00] /usr/sbin/iptables, [--wait -t filter -F DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.171338983+08:00] /usr/sbin/iptables, [--wait -t filter -X DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.172773117+08:00] /usr/sbin/iptables, [--wait -t filter -F DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.173826084+08:00] /usr/sbin/iptables, [--wait -t filter -X DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.174759635+08:00] /usr/sbin/iptables, [--wait -t filter -F DOCKER-ISOLATION] 
DEBU[2022-10-15T19:41:21.175516502+08:00] /usr/sbin/iptables, [--wait -t filter -X DOCKER-ISOLATION] 
DEBU[2022-10-15T19:41:21.176633678+08:00] /usr/sbin/iptables, [--wait -t nat -n -L DOCKER] 
DEBU[2022-10-15T19:41:21.177878742+08:00] /usr/sbin/iptables, [--wait -t nat -N DOCKER] 
DEBU[2022-10-15T19:41:21.179211884+08:00] /usr/sbin/iptables, [--wait -t filter -n -L DOCKER] 
DEBU[2022-10-15T19:41:21.180566259+08:00] /usr/sbin/iptables, [--wait -t filter -n -L DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.181664325+08:00] /usr/sbin/iptables, [--wait -t filter -n -L DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.182619632+08:00] /usr/sbin/iptables, [--wait -t filter -N DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.183698211+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-1 -j RETURN] 
DEBU[2022-10-15T19:41:21.184660229+08:00] /usr/sbin/iptables, [--wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN] 
DEBU[2022-10-15T19:41:21.185664051+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-2 -j RETURN] 
DEBU[2022-10-15T19:41:21.188121097+08:00] /usr/sbin/iptables, [--wait -A DOCKER-ISOLATION-STAGE-2 -j RETURN] 
DEBU[2022-10-15T19:41:21.192328299+08:00] /usr/sbin/iptables, [--wait -t nat -C POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE] 
DEBU[2022-10-15T19:41:21.193248300+08:00] /usr/sbin/iptables, [--wait -t nat -C DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.194175582+08:00] /usr/sbin/iptables, [--wait -t nat -I DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.195213123+08:00] /usr/sbin/iptables, [--wait -D FORWARD -i docker0 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.196110463+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.197259027+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.198404258+08:00] /usr/sbin/iptables, [--wait -t nat -C PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.199453036+08:00] /usr/sbin/iptables, [--wait -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.200780336+08:00] /usr/sbin/iptables, [--wait -t nat -C OUTPUT -m addrtype --dst-type LOCAL -j DOCKER ! --dst 127.0.0.0/8] 
DEBU[2022-10-15T19:41:21.201734492+08:00] /usr/sbin/iptables, [--wait -t nat -A OUTPUT -m addrtype --dst-type LOCAL -j DOCKER ! --dst 127.0.0.0/8] 
DEBU[2022-10-15T19:41:21.202760244+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.203603688+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.204579693+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.205931906+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.207397466+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.208290824+08:00] /usr/sbin/iptables, [--wait -D FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.209274011+08:00] /usr/sbin/iptables, [--wait -I FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.210204484+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.211063272+08:00] /usr/sbin/iptables, [--wait -t filter -I DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.212171796+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.213450432+08:00] /usr/sbin/iptables, [--wait -t filter -I DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.214963139+08:00] Network (71beb0a) restored                   
DEBU[2022-10-15T19:41:21.215726339+08:00] Allocating IPv4 pools for network bridge (71beb0a9302dfbcb53030b270c3349d5ca78532d6defe66ddb73594b5b6c3333) 
DEBU[2022-10-15T19:41:21.215773745+08:00] RequestPool(LocalDefault, 172.17.0.0/16, , map[], false) 
DEBU[2022-10-15T19:41:21.215796208+08:00] RequestAddress(LocalDefault/172.17.0.0/16, 172.17.0.1, map[RequestAddressType:com.docker.network.gateway]) 
DEBU[2022-10-15T19:41:21.215808832+08:00] Request address PoolID:172.17.0.0/16 App: ipam/default/data, ID: LocalDefault/172.17.0.0/16, DBIndex: 0x0, Bits: 65536, Unselected: 65534, Sequence: (0x80000000, 1)->(0x0, 2046)->(0x1, 1)->end Curr:0 Serial:false PrefAddress:172.17.0.1  
DEBU[2022-10-15T19:41:21.216797140+08:00] /usr/sbin/iptables, [--wait -t nat -C POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE] 
DEBU[2022-10-15T19:41:21.217865755+08:00] /usr/sbin/iptables, [--wait -t nat -D POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE] 
DEBU[2022-10-15T19:41:21.218962839+08:00] /usr/sbin/iptables, [--wait -t nat -C DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.220171662+08:00] /usr/sbin/iptables, [--wait -t nat -D DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.221813508+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.222887461+08:00] /usr/sbin/iptables, [--wait -D FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.224157776+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.224556187+08:00] garbage collected                             d="525.124µs"
DEBU[2022-10-15T19:41:21.225127621+08:00] /usr/sbin/iptables, [--wait -D FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.226040182+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.226865487+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.227793795+08:00] /usr/sbin/iptables, [--wait -D FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.229117606+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.230311400+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.231515777+08:00] /usr/sbin/iptables, [--wait -D FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.233003612+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.234091585+08:00] /usr/sbin/iptables, [--wait -t filter -D DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.235181467+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.236022568+08:00] /usr/sbin/iptables, [--wait -t filter -D DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.237607372+08:00] releasing IPv4 pools from network bridge (71beb0a9302dfbcb53030b270c3349d5ca78532d6defe66ddb73594b5b6c3333) 
DEBU[2022-10-15T19:41:21.237648299+08:00] ReleaseAddress(LocalDefault/172.17.0.0/16, 172.17.0.1) 
DEBU[2022-10-15T19:41:21.237664655+08:00] Released address PoolID:LocalDefault/172.17.0.0/16, Address:172.17.0.1 Sequence:App: ipam/default/data, ID: LocalDefault/172.17.0.0/16, DBIndex: 0x0, Bits: 65536, Unselected: 65533, Sequence: (0xc0000000, 1)->(0x0, 2046)->(0x1, 1)->end Curr:0 
DEBU[2022-10-15T19:41:21.237670731+08:00] ReleasePool(LocalDefault/172.17.0.0/16)      
DEBU[2022-10-15T19:41:21.239646474+08:00] cleanupServiceDiscovery for network:71beb0a9302dfbcb53030b270c3349d5ca78532d6defe66ddb73594b5b6c3333 
DEBU[2022-10-15T19:41:21.239672557+08:00] cleanupServiceBindings for 71beb0a9302dfbcb53030b270c3349d5ca78532d6defe66ddb73594b5b6c3333 
INFO[2022-10-15T19:41:21.240989180+08:00] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address 
DEBU[2022-10-15T19:41:21.241044641+08:00] Allocating IPv4 pools for network bridge (c1b8a375a0246ac5ebf704b187679fa7a056dc5394bfab75fae2d684bdfabdaf) 
DEBU[2022-10-15T19:41:21.241058869+08:00] RequestPool(LocalDefault, 172.17.0.0/16, , map[], false) 
DEBU[2022-10-15T19:41:21.241074985+08:00] RequestAddress(LocalDefault/172.17.0.0/16, 172.17.0.1, map[RequestAddressType:com.docker.network.gateway]) 
DEBU[2022-10-15T19:41:21.241084947+08:00] Request address PoolID:172.17.0.0/16 App: ipam/default/data, ID: LocalDefault/172.17.0.0/16, DBIndex: 0x0, Bits: 65536, Unselected: 65534, Sequence: (0x80000000, 1)->(0x0, 2046)->(0x1, 1)->end Curr:0 Serial:false PrefAddress:172.17.0.1  
DEBU[2022-10-15T19:41:21.241307237+08:00] /usr/sbin/iptables, [--wait -t nat -C POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE] 
DEBU[2022-10-15T19:41:21.242331246+08:00] /usr/sbin/iptables, [--wait -t nat -I POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE] 
DEBU[2022-10-15T19:41:21.243235141+08:00] /usr/sbin/iptables, [--wait -t nat -C DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.244104459+08:00] /usr/sbin/iptables, [--wait -t nat -I DOCKER -i docker0 -j RETURN] 
DEBU[2022-10-15T19:41:21.245081831+08:00] /usr/sbin/iptables, [--wait -D FORWARD -i docker0 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.245953820+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.247215225+08:00] /usr/sbin/iptables, [--wait -I FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.248630325+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.249537345+08:00] /usr/sbin/iptables, [--wait -I FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[2022-10-15T19:41:21.250598772+08:00] /usr/sbin/iptables, [--wait -t nat -C PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.252005660+08:00] /usr/sbin/iptables, [--wait -t nat -C PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[2022-10-15T19:41:21.253640240+08:00] /usr/sbin/iptables, [--wait -t nat -C OUTPUT -m addrtype --dst-type LOCAL -j DOCKER ! --dst 127.0.0.0/8] 
DEBU[2022-10-15T19:41:21.254680920+08:00] /usr/sbin/iptables, [--wait -t nat -C OUTPUT -m addrtype --dst-type LOCAL -j DOCKER ! --dst 127.0.0.0/8] 
DEBU[2022-10-15T19:41:21.255624933+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.256475499+08:00] /usr/sbin/iptables, [--wait -I FORWARD -o docker0 -j DOCKER] 
DEBU[2022-10-15T19:41:21.257527984+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.258666472+08:00] /usr/sbin/iptables, [--wait -I FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[2022-10-15T19:41:21.259866417+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.260723501+08:00] /usr/sbin/iptables, [--wait -D FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.261601184+08:00] /usr/sbin/iptables, [--wait -I FORWARD -j DOCKER-ISOLATION-STAGE-1] 
DEBU[2022-10-15T19:41:21.262635185+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.263985718+08:00] /usr/sbin/iptables, [--wait -t filter -I DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2] 
DEBU[2022-10-15T19:41:21.265574600+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.267087357+08:00] /usr/sbin/iptables, [--wait -t filter -I DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP] 
DEBU[2022-10-15T19:41:21.270105025+08:00] /usr/sbin/iptables, [--wait -t filter -n -L DOCKER-USER] 
DEBU[2022-10-15T19:41:21.271099607+08:00] /usr/sbin/iptables, [--wait -t filter -C DOCKER-USER -j RETURN] 
DEBU[2022-10-15T19:41:21.271889874+08:00] /usr/sbin/iptables, [--wait -t filter -C FORWARD -j DOCKER-USER] 
DEBU[2022-10-15T19:41:21.272643823+08:00] /usr/sbin/iptables, [--wait -D FORWARD -j DOCKER-USER] 
DEBU[2022-10-15T19:41:21.273625693+08:00] /usr/sbin/iptables, [--wait -I FORWARD -j DOCKER-USER] 
INFO[2022-10-15T19:41:21.275867320+08:00] Loading containers: done.                    
INFO[2022-10-15T19:41:21.291334079+08:00] Docker daemon                                 commit=e42327a graphdriver(s)=overlay2 version=20.10.18
INFO[2022-10-15T19:41:21.291396656+08:00] Daemon has completed initialization          
DEBU[2022-10-15T19:41:21.302689342+08:00] Registering routers                          
DEBU[2022-10-15T19:41:21.302727253+08:00] Registering GET, /containers/{name:.*}/checkpoints 
DEBU[2022-10-15T19:41:21.302805246+08:00] Registering POST, /containers/{name:.*}/checkpoints 
DEBU[2022-10-15T19:41:21.302855294+08:00] Registering DELETE, /containers/{name}/checkpoints/{checkpoint} 
DEBU[2022-10-15T19:41:21.302927153+08:00] Registering HEAD, /containers/{name:.*}/archive 
DEBU[2022-10-15T19:41:21.302964644+08:00] Registering GET, /containers/json            
DEBU[2022-10-15T19:41:21.302999650+08:00] Registering GET, /containers/{name:.*}/export 
DEBU[2022-10-15T19:41:21.303042325+08:00] Registering GET, /containers/{name:.*}/changes 
DEBU[2022-10-15T19:41:21.303112224+08:00] Registering GET, /containers/{name:.*}/json  
DEBU[2022-10-15T19:41:21.303144701+08:00] Registering GET, /containers/{name:.*}/top   
DEBU[2022-10-15T19:41:21.303173990+08:00] Registering GET, /containers/{name:.*}/logs  
DEBU[2022-10-15T19:41:21.303236357+08:00] Registering GET, /containers/{name:.*}/stats 
DEBU[2022-10-15T19:41:21.303268127+08:00] Registering GET, /containers/{name:.*}/attach/ws 
DEBU[2022-10-15T19:41:21.303332748+08:00] Registering GET, /exec/{id:.*}/json          
DEBU[2022-10-15T19:41:21.303362205+08:00] Registering GET, /containers/{name:.*}/archive 
DEBU[2022-10-15T19:41:21.303392095+08:00] Registering POST, /containers/create         
DEBU[2022-10-15T19:41:21.303536750+08:00] Registering POST, /containers/{name:.*}/kill 
DEBU[2022-10-15T19:41:21.303699624+08:00] Registering POST, /containers/{name:.*}/pause 
DEBU[2022-10-15T19:41:21.303776035+08:00] Registering POST, /containers/{name:.*}/unpause 
DEBU[2022-10-15T19:41:21.305764021+08:00] Registering POST, /containers/{name:.*}/restart 
DEBU[2022-10-15T19:41:21.305837641+08:00] Registering POST, /containers/{name:.*}/start 
DEBU[2022-10-15T19:41:21.305890884+08:00] Registering POST, /containers/{name:.*}/stop 
DEBU[2022-10-15T19:41:21.305937905+08:00] Registering POST, /containers/{name:.*}/wait 
DEBU[2022-10-15T19:41:21.305985465+08:00] Registering POST, /containers/{name:.*}/resize 
DEBU[2022-10-15T19:41:21.306036076+08:00] Registering POST, /containers/{name:.*}/attach 
DEBU[2022-10-15T19:41:21.306083798+08:00] Registering POST, /containers/{name:.*}/copy 
DEBU[2022-10-15T19:41:21.306131425+08:00] Registering POST, /containers/{name:.*}/exec 
DEBU[2022-10-15T19:41:21.306175303+08:00] Registering POST, /exec/{name:.*}/start      
DEBU[2022-10-15T19:41:21.306219688+08:00] Registering POST, /exec/{name:.*}/resize     
DEBU[2022-10-15T19:41:21.306264043+08:00] Registering POST, /containers/{name:.*}/rename 
DEBU[2022-10-15T19:41:21.306312261+08:00] Registering POST, /containers/{name:.*}/update 
DEBU[2022-10-15T19:41:21.306358328+08:00] Registering POST, /containers/prune          
DEBU[2022-10-15T19:41:21.306524675+08:00] Registering POST, /commit                    
DEBU[2022-10-15T19:41:21.306564015+08:00] Registering PUT, /containers/{name:.*}/archive 
DEBU[2022-10-15T19:41:21.306614730+08:00] Registering DELETE, /containers/{name:.*}    
DEBU[2022-10-15T19:41:21.306663807+08:00] Registering GET, /images/json                
DEBU[2022-10-15T19:41:21.306697071+08:00] Registering GET, /images/search              
DEBU[2022-10-15T19:41:21.306750976+08:00] Registering GET, /images/get                 
DEBU[2022-10-15T19:41:21.306792419+08:00] Registering GET, /images/{name:.*}/get       
DEBU[2022-10-15T19:41:21.306838063+08:00] Registering GET, /images/{name:.*}/history   
DEBU[2022-10-15T19:41:21.306884614+08:00] Registering GET, /images/{name:.*}/json      
DEBU[2022-10-15T19:41:21.306929258+08:00] Registering POST, /images/load               
DEBU[2022-10-15T19:41:21.306960919+08:00] Registering POST, /images/create             
DEBU[2022-10-15T19:41:21.306993738+08:00] Registering POST, /images/{name:.*}/push     
DEBU[2022-10-15T19:41:21.307039396+08:00] Registering POST, /images/{name:.*}/tag      
DEBU[2022-10-15T19:41:21.307527025+08:00] Registering POST, /images/prune              
DEBU[2022-10-15T19:41:21.307592196+08:00] Registering DELETE, /images/{name:.*}        
DEBU[2022-10-15T19:41:21.307627608+08:00] Registering OPTIONS, /{anyroute:.*}          
DEBU[2022-10-15T19:41:21.307698688+08:00] Registering GET, /_ping                      
DEBU[2022-10-15T19:41:21.307760175+08:00] Registering HEAD, /_ping                     
DEBU[2022-10-15T19:41:21.307789887+08:00] Registering GET, /events                     
DEBU[2022-10-15T19:41:21.307820290+08:00] Registering GET, /info                       
DEBU[2022-10-15T19:41:21.307849486+08:00] Registering GET, /version                    
DEBU[2022-10-15T19:41:21.307924864+08:00] Registering GET, /system/df                  
DEBU[2022-10-15T19:41:21.308020436+08:00] Registering POST, /auth                      
DEBU[2022-10-15T19:41:21.308052933+08:00] Registering GET, /volumes                    
DEBU[2022-10-15T19:41:21.308100915+08:00] Registering GET, /volumes/{name:.*}          
DEBU[2022-10-15T19:41:21.308151007+08:00] Registering POST, /volumes/create            
DEBU[2022-10-15T19:41:21.308200839+08:00] Registering POST, /volumes/prune             
DEBU[2022-10-15T19:41:21.308244014+08:00] Registering DELETE, /volumes/{name:.*}       
DEBU[2022-10-15T19:41:21.308288816+08:00] Registering POST, /build                     
DEBU[2022-10-15T19:41:21.308335278+08:00] Registering POST, /build/prune               
DEBU[2022-10-15T19:41:21.308357293+08:00] Registering POST, /build/cancel              
DEBU[2022-10-15T19:41:21.308411465+08:00] Registering POST, /session                   
DEBU[2022-10-15T19:41:21.308450991+08:00] Registering POST, /swarm/init                
DEBU[2022-10-15T19:41:21.308470981+08:00] Registering POST, /swarm/join                
DEBU[2022-10-15T19:41:21.308489767+08:00] Registering POST, /swarm/leave               
DEBU[2022-10-15T19:41:21.308530219+08:00] Registering GET, /swarm                      
DEBU[2022-10-15T19:41:21.308568336+08:00] Registering GET, /swarm/unlockkey            
DEBU[2022-10-15T19:41:21.308590717+08:00] Registering POST, /swarm/update              
DEBU[2022-10-15T19:41:21.308623650+08:00] Registering POST, /swarm/unlock              
DEBU[2022-10-15T19:41:21.308662465+08:00] Registering GET, /services                   
DEBU[2022-10-15T19:41:21.308681846+08:00] Registering GET, /services/{id}              
DEBU[2022-10-15T19:41:21.308753417+08:00] Registering POST, /services/create           
DEBU[2022-10-15T19:41:21.308802587+08:00] Registering POST, /services/{id}/update      
DEBU[2022-10-15T19:41:21.308873846+08:00] Registering DELETE, /services/{id}           
DEBU[2022-10-15T19:41:21.308922000+08:00] Registering GET, /services/{id}/logs         
DEBU[2022-10-15T19:41:21.308957912+08:00] Registering GET, /nodes                      
DEBU[2022-10-15T19:41:21.308993486+08:00] Registering GET, /nodes/{id}                 
DEBU[2022-10-15T19:41:21.309020518+08:00] Registering DELETE, /nodes/{id}              
DEBU[2022-10-15T19:41:21.309044886+08:00] Registering POST, /nodes/{id}/update         
DEBU[2022-10-15T19:41:21.309075204+08:00] Registering GET, /tasks                      
DEBU[2022-10-15T19:41:21.309105450+08:00] Registering GET, /tasks/{id}                 
DEBU[2022-10-15T19:41:21.309146202+08:00] Registering GET, /tasks/{id}/logs            
DEBU[2022-10-15T19:41:21.309186677+08:00] Registering GET, /secrets                    
DEBU[2022-10-15T19:41:21.309221114+08:00] Registering POST, /secrets/create            
DEBU[2022-10-15T19:41:21.309245169+08:00] Registering DELETE, /secrets/{id}            
DEBU[2022-10-15T19:41:21.309270467+08:00] Registering GET, /secrets/{id}               
DEBU[2022-10-15T19:41:21.309326788+08:00] Registering POST, /secrets/{id}/update       
DEBU[2022-10-15T19:41:21.309374271+08:00] Registering GET, /configs                    
DEBU[2022-10-15T19:41:21.309396325+08:00] Registering POST, /configs/create            
DEBU[2022-10-15T19:41:21.309443616+08:00] Registering DELETE, /configs/{id}            
DEBU[2022-10-15T19:41:21.309488191+08:00] Registering GET, /configs/{id}               
DEBU[2022-10-15T19:41:21.309529765+08:00] Registering POST, /configs/{id}/update       
DEBU[2022-10-15T19:41:21.309585963+08:00] Registering GET, /plugins                    
DEBU[2022-10-15T19:41:21.309619961+08:00] Registering GET, /plugins/{name:.*}/json     
DEBU[2022-10-15T19:41:21.309674992+08:00] Registering GET, /plugins/privileges         
DEBU[2022-10-15T19:41:21.309736401+08:00] Registering DELETE, /plugins/{name:.*}       
DEBU[2022-10-15T19:41:21.309767934+08:00] Registering POST, /plugins/{name:.*}/enable  
DEBU[2022-10-15T19:41:21.309824211+08:00] Registering POST, /plugins/{name:.*}/disable 
DEBU[2022-10-15T19:41:21.309868778+08:00] Registering POST, /plugins/pull              
DEBU[2022-10-15T19:41:21.309904209+08:00] Registering POST, /plugins/{name:.*}/push    
DEBU[2022-10-15T19:41:21.309931897+08:00] Registering POST, /plugins/{name:.*}/upgrade 
DEBU[2022-10-15T19:41:21.309958276+08:00] Registering POST, /plugins/{name:.*}/set     
DEBU[2022-10-15T19:41:21.310000689+08:00] Registering POST, /plugins/create            
DEBU[2022-10-15T19:41:21.310040050+08:00] Registering GET, /distribution/{name:.*}/json 
DEBU[2022-10-15T19:41:21.310088453+08:00] Registering POST, /grpc                      
DEBU[2022-10-15T19:41:21.310106295+08:00] Registering GET, /networks                   
DEBU[2022-10-15T19:41:21.310123589+08:00] Registering GET, /networks/                  
DEBU[2022-10-15T19:41:21.310142007+08:00] Registering GET, /networks/{id:.+}           
DEBU[2022-10-15T19:41:21.310168415+08:00] Registering POST, /networks/create           
DEBU[2022-10-15T19:41:21.310191723+08:00] Registering POST, /networks/{id:.*}/connect  
DEBU[2022-10-15T19:41:21.310232934+08:00] Registering POST, /networks/{id:.*}/disconnect 
DEBU[2022-10-15T19:41:21.310275951+08:00] Registering POST, /networks/prune            
DEBU[2022-10-15T19:41:21.310304497+08:00] Registering DELETE, /networks/{id:.*}        
INFO[2022-10-15T19:41:21.310408596+08:00] API listen on /var/run/docker.sock

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
神级编辑器,就是excel与Python的结合,使得简单的UI与Python编程语言结合起来简直不要太好用,下载安装配置的时候容易出错,根据自己的犯错经验写了个详细的教程,方便大家使用下载避免走弯路犯错。 1、 Windows 环境下使用Docker安装gridstudio教程 (1) 下载Grid Studio,一个是保存到桌面的GitHub Desktop;一个下载的文件夹,最好放在C盘根目录,方便后面在Git Bash里cd 到C盘后,用cd gridstudio && ./run.sh来启动Gridstudio; (2) 安装Git Bash,就是相当于GitHub命令行 (3) 下载Docker,第一次在官网下载,需要先在Docker官网注册一个账号;开启电脑虚拟化,性能->CPU,虚拟化启用;启用或关闭Windows功能->把Hyper-v勾上;然后重启。然后安装Docker,磁盘共享设置C盘,输入电脑账号密码,重启即可。在cmd 输入 docker –version 看看是否安装成功。 (4) 双击打开Git base ,将目录切换到C盘根目录,$ cd C: 然后执行命令 $ cd gridstudio-master && ./run.sh (5) 然后脚本会下载一些文件,知道提示完成,并且给出访问地址:http://127.0.0.1:8080即表示编译成功。 (6) 可以访问上面的地址了,输入用户名密码:admin/admin即可操作这个工具了。 (7) 运行过一次,下次再启动 1,$ cd C: 2,$ cd gridstudio-master 3,$ ./destroy.sh 4,./run.sh 就可以了。 (8) 安装的过程中Docker可能会出现一些错误,关闭防火墙,关闭360安全卫士,重启电脑!!!
### 回答1: 当Docker启动Kafka后自动退出的问题通常有以下几种可能原因: 1. 端口冲突:如果在启动Docker容器时,Kafka所使用的端口已被其他进程占用,Docker会自动退出。可以通过查看Docker容器日志或检查宿主机上的端口占用情况来确定是否存在端口冲突问题。 2. 资源限制:Kafka是一个较为资源密集型的应用,如果Docker容器所配置的资源(如内存和CPU等)不足以支持Kafka的运行,Docker会因资源限制而退出。可以尝试增加Docker容器的资源限制,并重新启动容器。 3. 配置错误:Kafka的配置文件可能存在错误导致启动失败。可以检查Kafka的配置文件,查看是否有错误的配置项或配置项值是否合法。可以通过尝试使用默认配置文件或重新编写配置文件来解决配置错误导致的启动问题。 4. 日志输出:启动Kafka时,Docker可能会将Kafka的日志输出到标准输出,而不是保存到文件中。如果未设置适当的配置或重定向日志输出,Docker会在Kafka启动后立即退出。可以通过查看Docker容器日志输出来确认是否存在此问题。 综上所述,当Docker启动Kafka后自动退出时,需要注意检查端口冲突、资源限制、配置错误和日志输出等问题,以确定具体原因并采取相应的解决方案。 ### 回答2: Docker 是一种轻量级的容器化平台,Kafka 是一个分布式流处理平台,可以处理大规模的实时数据流。在使用 Docker 启动 Kafka 过程中,可能会遇到一些问题导致自动退出的情况。下面是一些可能导致 Docker 启动 Kafka 自动退出的原因以及对应的解决方法: 1. 端口冲突:Kafka 默认使用 9092 端口进行通信,如果这个端口被其他进程占用,可能会导致 Docker 容器无法启动。解决方法是通过修改 Docker 容器中 Kafka 的监听端口,可以用其他未被占用的端口替代。 2. 配置错误:Kafka 的配置文件可能存在错误,导致无法正常启动。解决方法是检查配置文件中的参数是否正确,并确保配置文件的格式没有问题。 3. 内存不足:Kafka 需要较大的内存空间来保存数据和处理消息,如果 Docker 容器分配的内存不足,可能会导致启动失败。解决方法是增加 Docker 容器的内存分配,确保足够的内存供 Kafka 使用。 4. 硬盘空间不足:Kafka 在运行过程中会生成大量的日志文件和数据文件,如果 Docker 容器的硬盘空间不足,可能会导致无法启动。解决方法是释放一些硬盘空间,或者扩容 Docker 容器的硬盘大小。 5. 镜像问题:Docker 容器启动 Kafka 时使用的镜像可能存在问题,如版本不适配或者镜像本身存在 bug,可以尝试使用其他版本的镜像或者下载更新的镜像。 6. 其他错误:还有一些其他的错误可能导致 Docker 容器无法启动 Kafka,如网络连接问题、权限问题等。解决方法是逐一排查错误,并根据具体情况进行相应的修复。 总结来说,导致 Docker 启动 Kafka 自动退出的原因可能有很多,解决的方法也因具体原因而异。在解决问题时,需要仔细分析错误日志,逐步排查原因,并尝试不同的解决方法,直到成功启动 Kafka。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值