docker - Docker,悬挂容器?

标签 docker docker-compose containers

我无法启动docker-compose环境,因为端口是由某些东西分配的。

ERROR: for ***** Cannot start service *****: driver failed programming external connectivity on endpoint ***** (4314ec13837d41ca8ef1b7e1d8446ab8cfa96136539a75ac763ba1cf538ffdc1): Bind for 0.0.0.0:8881 failed: port is already allocated
Encountered errors while bringing up the project.

但是,没有这样的容器
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

但是当我检查docker-compose网络时,我可以看到网络中的一个容器
$ docker network inspect *****
[
    {
        "Name": "*****",
        "Id": "56d09f51e8fe5a9ad11dd6cdaff7e89983f519fd1ecff08116c2e48a3b34ff32",
        "Created": "2018-08-01T08:17:30.704352821Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "08a5defa5ceae7a5a5ac7ec85f5ecd0924ecb4e5eacca4f5752049e32a0f190c": {
                "Name": "08a5defa5cea_*****",
                "EndpointID": "5d081a19b5ffe4e893965a4306668059900812532cc4995e168ce017f2765e12",
                "MacAddress": "02:42:ac:12:00:06",
                "IPv4Address": "172.18.0.6/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "*****",
            "com.docker.compose.project": "docker"
        }
    }
]

然而,不可能移除这个容器
docker rm -f *****
Error: No such container: *****

如何进行?

最佳答案

我运行此脚本来关闭所有卡住的容器,这些容器有时会持续存在

#!/bin/bash

# ... bring down all containers

force_it=""  #  normal
# force_it=" -f "  #  when you see  "device or resource busy"

for curr_container_id in $( docker ps -q ); do

    echo curr_container_id $curr_container_id
    echo
    echo "docker stop $curr_container_id "
          docker stop $curr_container_id
    echo
    echo "docker rm $force_it $curr_container_id "
          docker rm $force_it $curr_container_id
done

for curr_container_id in $( docker ps -q -a ); do

    echo curr_container_id $curr_container_id
    echo
    echo "docker stop $curr_container_id "
          docker stop $curr_container_id
    echo
    echo "docker rm $force_it $curr_container_id "
          docker rm $force_it $curr_container_id
done

它在99%的时间内都可以工作...如果不在顶部附近,则可以切换强制参数并重新运行...这可以让您避免不得不跳动任何docker服务器

关于docker - Docker,悬挂容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51630945/

相关文章:

c++ - 没有默认构造函数时,使用垃圾数据初始化对象

docker - 由 root 而不是 laradock 用户创建的新的每日日志文件

ubuntu - 我需要在 Ubuntu 上使用 Virtual Box 来创建 docker 机器吗?

当我在 Docker 容器中运行 MySQL 时,mysqld 也会运行

docker - Docker-从工件中加载基本镜像

namespaces - 是否可以将 ipc namespeces 与 docker compose 连接起来

amazon-web-services - 如何监控 ECS 任务循环?

c++ - vector 的成对迭代

java - 如何从打开的 jdk docker 镜像运行 jar 文件

amazon-web-services - 从 Jenkins 管道推送到 ECR