执行Cassandra官方Docker网络启动命令失败报错如何解决
问题原因
Docker要求所有容器(无论是否处于运行状态)的名称全局唯一,你第一次执行无网络参数的启动命令时,已经成功创建了名为cassandra的容器,因此再次使用同名参数创建新容器时就会触发冲突报错。
解决步骤
- 第一步:清理旧的同名容器
如果旧容器还在运行,先执行停止命令:docker stop cassandra
停止后执行删除命令释放名称:docker rm cassandra - 第二步:创建所需的自定义网络
你用到的--network cassandra参数需要对应网络提前存在,执行以下命令创建网络:docker network create cassandra - 第三步:重新执行带网络配置的启动命令
现在就可以正常运行你之前的启动命令了:docker run --rm -d --name cassandra --hostname cassandra --network cassandra cassandra
可选替代方案
如果你不想删除之前创建的旧容器,只需要把新启动命令中--name参数后的名称修改为其他未被使用的名称即可,比如改为--name cassandra-test,就不会触发名称冲突。
内容的提问来源于stack exchange,提问作者ttt
相关产品推荐
相关产品推荐

