我是第一次使用docker。我为DB2创建了docker镜像,当开始使用命令登录到实例时,
sudo docker exec -i -t db2 /bin/bash
我得到了以下错误:
Error response from daemon: Container [id] is not running
我还尝试使用以下命令启动该实例:
sudo docker start [id]
它返回的错误消息为:
Error response from daemon: driver failed programming external connectivity on endpoint db2 ([id]): Bind for 0.0.0.0:50000 failed: port is already allocated
Error: failed to start containers: [id]
有人能帮个忙吗?
发布于 2018-06-13 16:16:30
如果你看一下你的错误消息,它会显示你试图在一个容器id中运行一个入口点,这个容器id使用了已经被使用的端口50000。
这就是docker start [id]
不能工作的原因。
这可能是由几个原因引起的(让我添加一些东西,而不是具体的东西,这是问题所在,因为您没有表达太多细节)。
docker exec
应该与已经运行的容器id一起使用,而不是图像,也不是入口点。所以,也许你错过了docker exec
之前的do docker run
。如果db2是您的docker镜像,则尝试执行docker run -it db2 /bin/bash
。docker container prune
来清除已退出的前一个containers.容器在docker run
命令中使用端口映射:例如,
docker run -d -p 50001:50000 [docker-image] [entrypoint]
docker run -d -p 50002:50000 [docker-image] [entrypoint]
这样,您将有几个从不同端口到相同50000的映射,避免了端口重用的错误,但我不确定这是否是您想要做的。我只是想用你provided.的小信息帮你
无论如何,我希望它能对你有所帮助。
https://stackoverflow.com/questions/50829434
复制相似问题