docker 问题, Bind for 0.0.0.0:9000

线上服务器centos7 里装了docker,docker里装了minio容器,但是重启服务器后,minio就启动不起来了。

①运行查看容器

docker container ps -a

运行后显示minio 这个容器的STATUS 显示为Exited(255).

     CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES

        591a31987a1p       minio/minio         "/usr/bin/docker-ent…"   21 months ago       Exited (255) 8 months ago                       minio

②启动容器

docker start minio

运行后显示

    Error response from daemon: driver failed programming external connectivity on endpoint minio (6dce309165821802295c8c444af698a3da438b3ffa97de3a713266977ced2761): Bind for 0.0.0.0:9000 failed: port is already allocated

但是根据网上的一些做法:

  • 1.找被占的端口,没有占用9000的进程;
  • 2.找防火墙的问题,防火墙本来就是关闭的;
  • 3.删除容器重新运行docker run语句 ,还是显示9000端口被占用。

由于特殊原因,不能换端口。
实在没办法,先谢谢各位了。

docker ps |grep 容器名
https://blog.csdn.net/Yasser_lin/article/details/122923592

试试重启docker
service docker restart

查看进程,发现相关的容器并没有在运行,而 docker-proxy 却依然绑定着端口:

docker ps
ps -aux | grep -v grep | grep docker-proxy

停止 doker 进程,删除所有容器,然后删除 local-kv.db 这个文件,再启动 docker 就可以了。

sudo service docker stop
docker rm $(docker ps -aq)
sudo rm /var/lib/docker/network/files/local-kv.db
sudo systemctl restart docker

重新操作一遍试试?我们服务器有时会遭遇园区停电,恢复之后就要重新搞docker,比如我用的是bio-str-exstra

#拉取之前,重启下docker
systemctl stop docker
systemctl start docker
#拉取
docker pull ricktankard/bio-str-exstra:latest
#run
docker run .....

直接重装系统了,之前的镜像能用,然后现在就是数据拷贝的问题了