我是第一次使用 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]
有人可以帮忙吗?
如果您查看错误消息,它表明您正在尝试在使用端口 50000 的容器 [id] 中运行入口点,该端口已被使用。
这就是为什么docker start [id]
不起作用。
这可能是由几件事引起的(让我添加其中一些而不是具体的问题,因为您没有表达很多细节)。
docker exec
应该与已经运行的容器 id 一起使用,而不是图像,而不是入口点。所以,也许你错过了 do docker run
before docker exec
。docker run -it db2 /bin/bash
如果 db2 是您的 docker 映像,请尝试执行此操作。docker container prune
清理退出的以前的容器。docker run
命令中使用端口映射:例如,
docker run -d -p 50001:50000 [docker-image] [entrypoint]
docker run -d -p 50002:50000 [docker-image] [entrypoint]
,您将有多个从不同端口到同一个 50000 的映射,从而避免了端口重用的错误,但我不确定这是否是您想要做的。我只是想通过您提供的少量信息来帮助您。我希望无论如何它是有帮助的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句