You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多Docker守护进程疑问:状态查看、并发运行及容器指定

Docker多守护进程常见问题解答

1. 如何查看两个Docker实例的当前状态?

有几种实用的方法:

  • 验证进程存活状态:通过PID文件读取进程ID,再检查进程是否存在:
    # 检查默认守护进程
    cat /var/run/docker.pid && ps -p $(cat /var/run/docker.pid)
    # 检查新守护进程
    cat /var/run/docker-bootstrap.pid && ps -p $(cat /var/run/docker-bootstrap.pid)
    
  • 查看所有dockerd进程:直接过滤进程列表:
    ps aux | grep dockerd | grep -v grep
    
  • 通过socket验证服务可用性:针对每个守护进程的socket执行信息查询命令,能返回正常输出说明服务运行正常:
    # 验证默认守护进程
    docker -H unix:///var/run/docker.sock info
    # 验证新守护进程
    docker -H unix:///var/run/docker-bootstrap.sock info
    

2. 执行指定命令后,两个守护进程会同时运行吗?

只要默认的Docker守护进程没有停止,执行你给出的dockerd命令启动新守护进程后,两个守护进程会同时运行。

注意:如果直接在终端执行该命令,终端会被占用,建议将新守护进程配置成systemd服务后台运行,或者在命令末尾加&临时放到后台(但后台进程可能会因终端关闭而终止,更推荐用systemd管理)。

3. 启动容器时能否指定到特定守护进程?如何操作?

完全可以,常用两种操作方式:

  • 命令行直接指定-H参数:
    • 容器A运行在默认守护进程:直接执行常规docker run命令(默认连接/var/run/docker.sock),也可以显式声明:
      docker -H unix:///var/run/docker.sock run --name containerA <镜像名>
      
    • 容器B运行在新守护进程:指定新守护进程的socket路径:
      docker -H unix:///var/run/docker-bootstrap.sock run --name containerB <镜像名>
      
  • 通过环境变量临时切换默认守护进程:设置DOCKER_HOST后,后续所有docker命令会默认使用该守护进程:
    # 切换到新守护进程
    export DOCKER_HOST=unix:///var/run/docker-bootstrap.sock
    # 此时启动容器B会自动关联新守护进程
    docker run --name containerB <镜像名>
    # 切回默认守护进程
    unset DOCKER_HOST
    # 启动容器A关联默认守护进程
    docker run --name containerA <镜像名>
    

内容的提问来源于stack exchange,提问作者K327

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:27:19