当前位置:   article > 正文

docker: Error response from daemon: Conflict. 【docker常见命令总结】【docker 拉取redis映射6379端口失败】【黑马头条】

docker: error response from daemon: conflict.

目录

创建容器失败的解决方案 

Redis创建容器后6379端口映射的解决

docker 常见命令

参考链接


        在学习Redis、Kafka、Zookeeper时使用Docker拉取镜像并创建容器,在创建容器的时候显示如下错误:

docker: Error response from daemon: Conflict. The container name "/zookeeper" is already in use by container "a287667cc9fc37fc09201ef6f92f7cfa1ec6b7d4f7c43466ea74dd1c15051a05". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

        更正:之前理解不到位,出现上面错误的原因docker中原本已经存在名称为zookeeper的容器,需要重启就可以了。docker start zookeeper。 通过docker ps即可查看到启动的容器。

        在创建容器并且启动run的同时可以使用-d --restart=always,开机自启动。

创建容器失败的解决方案 

        简单了解Docker工作原理后分析以上原因由于容器名zookeeper已经被一个容器实例使用所以无法创建一个重复的容器名。通过docker ps查看正在运行的容器却并没有zookeeper这个运行的容器实例。

         最上面的方框中具体出错的容器,这个“ac4dc0ef456ed77ad6276ebc70e8325aa5e8c0b4d15636f6c0fe8a6a1567341d”和通过docker ps命令查询出来正在运行的容器名也不太一样。并且我查询并没有zookeeper这个运行的容器实例。

        我的解决方法:

  • 使用docker stop zookeeper 暂停报错的容器名,或者docker stop + 容器ID。
  • 使用docker rm zookeeper 删除已经暂停了的容器实例,或者docker rm + 容器ID。在删除容器之前必须先暂停这个运行的容器,否则删除失败,上面图片就是删除失败。
  • 删除成功之后重新执行docker run xxx。
  • 通过docker ps查看正在运行的容器实例成功。

        完整操作如下照片:

Redis创建容器后6379端口映射的解决

        在拉取并创建redis实例成功之后端口映射6379不能成功显示出来:类似下面这个图片

        以上图片仅仅是使用Kafka举例说明碰到的情况,redis那个没有截图保存:PORTS没有端口映射,此时redis并不能正常使用。

        当Redis容器运行在一个非特权用户下时,可能无法访问本地的6379端口。这是因为6379端口通常是一个特权端口,只有特权用户才能访问。使用特权模式启动Redis容器。特权模式允许容器拥有与宿主机相同的权限,从而可以访问特权端口。在Docker命令中,可以通过–privileged选项来启动一个特权容器。

  • docker run --privileged -p 6379:6379 redis。
  • 使用以上命令重新运行redis容器并指定端口的时候,必须按照上面操作先暂停容器实例,并且删除容器示例,否则仍然会报错,容器名已经在使用。或者更换容器名。
  • 同时使用Linux虚拟机上的Redis6379端口的同时必须暂停Windows上的Redis,如果不暂停可以创建其他非6379端口进行映射。

docker 常见命令

  • docker version 查看docker版本。
  • docker search mysql 查看mysql的镜像。
  • docker pull mysql:5.7 拉去mysql5.7版本的镜像,如果不指定:5.7版本号则默认拉去最新版本。
  • docker images 查看所有的镜像。
  • docker container ls 查看所有的容器。
  • docker ps 查看正在运行的容器。
  • docker logs -f + CONTAINER ID 查看对应的容器日志。
  • docker stop redis / CONTAINER ID 暂停正在运行的容器。
  • docker rm redis / CONTAINER ID 删除创建的容器。
  • docker rmi -f 【image】删除拉去的镜像,-f参数强制删除。
  • systemctl stop docker 暂停docker。
  • systemctl start docker 启动docker。
  • systemctl restart docker 重启docker。
  • docker run xxx 创建容器,具体参数需要配置。

参考链接

Docker核心概念总结 | JavaGuide

【黑马头条】docker拉取redis映射6379端口失败解决方法_docker中redis端口没有映射-CSDN博客docker安装redis无法启动: The container name “/ly-redis“ is already in use by container_the container name "/redis" is already in use by c-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/740183
推荐阅读
相关标签
  

闽ICP备14008679号