本篇博客主要是解决docker使用中遇到的常见报错,为了下次能够快速解决同样的问题,专门记录一下,文章会持续更新。

容器名称被占用。

Error response from daemon: Conflict. The container name "/mysql" is already in use by container "abed9581923d9d00777818256d0de8063067d38be353802ed83b3b2244955683". You have to remove (or rename) that container to be able to reuse that name.

这个报错是你正在尝试创建一个名为mysql的容器,但已经存在相同容器的名称,解决办法是删除或者重命名已经存在的容器。下面以删除容器为例演示。

1.使用下面的命令查看正在运行和停止的容器。

docker ps -a

2.使用下面的命令来强制删除容器。

docker rm -f 容器id

3.再次使用docker ps -a发现容器已经删除。

4.可以再次执行创建容器命令。

防火墙被打开或关闭

Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-b1938128a963 -j RETURN: iptables: No chain/target/match by that name.  (exit status 1))

这个报错是表明你对linux的防火墙进行打开或关闭操作,因为自己之前在虚拟机里部署应用,为了方便访问,直接关掉了防火墙,然后在linux中进行有关网络操作的命令时,就遇到了这个报错。

解决办法是使用命令

service docker restart

重启docker.

端口被占用

docker启动mysql服务时,遇到了下面的报错:

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql5.6.46 (8c10cf68a1196a3a4b62faf37e36a4823bcfe2b353d9881a78c06314c1487fc6): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.

最后显示3306端口被占用着。

解决办法:杀进程,步骤如下。

1.使用命令下面的命令看看linux哪些端口被占用,找到3306端口。

netstat -tanlp

2.使用命令杀进程。

kill 某个进程(这里3306端口是被1785占了)

看下面这张图就比较好理解。

这样再重新启动mysql服务的时候就不会报错了。

参考博客:https://blog.csdn.net/qq_41157588/article/details/108889620

容器的详情中不见网关和ip地址

我遇到这个问题时,直接问gpt了,主要就是说这些信息存储在容器的网络命名空间中了。基本没什么影响,下面是gpt的回答。

总的来说,遇到问题很正常,不要怕,遇到问题就解决问题,吸取经验,下次就不会浪费很长时间去解决了。还有就是要具备一定的英文能力,报错是英文的,读懂后甚至不用搜索引擎就能使用docker命令解决问题。

docker的疑难杂症的更多相关文章

  1. 5.docker的疑难杂症

    根据官方文档:https://docs.docker.com/install/linux/docker-ce/centos/搭建docker 1.卸载docker旧版本: sudo yum remov ...

  2. Centos环境docker的正确安装及疑难杂症

    根据官方文档:https://docs.docker.com/install/linux/docker-ce/centos/搭建docker 1.卸载docker旧版本: sudo yum remov ...

  3. Exceptionless in Docker on Linux 搭建及部署疑难杂症

    https://github.com/exceptionless/Exceptionless https://github.com/exceptionless/Exceptionless.UI 项目拉 ...

  4. [Docker-2]排查基于docker部署mysql主从过程中遇到“Slave_IO_Running: Connecting”这个疑难杂症

    关于"Slave_IO_Running: Connecting"的排查方法,已经有很多博客写得清清楚楚了(很多都是复制粘贴..真浪费时间),那么如果已有的常规排查方法都不能解决你的 ...

  5. 什么是 docker?

    关于 Docker 是什么,有个著名的隐喻:集装箱.但是它却起了个“码头工人”( docker 的英文翻译)的名字.这无疑给使用者很多暗示:“快来用吧!用了 Docker ,就像世界出现了集装箱,这样 ...

  6. docker创建本地主机实例Virtualbox 驱动出错

    宿主机系统:Centos7 64位 创建主机实例Virtualbox 命令:docker-machine create -d virtualbox test 连接centos工具:Finalshell ...

  7. K8s+Docker 学习笔记系列

    学前知识 你需要掌握 Linux 的常用命令.你可以通过Linux 教程 来学习相关命令. Docker应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环境中部署和调 ...

  8. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

随机推荐

  1. 最为常用的Laravel操作(1)-Eloquent模型

    快速入门 更换表名 protected $table = 'my_flights'; 更换主键名称 protected $primaryKey = 'id'; 注意: Eloquent 默认主键字段是 ...

  2. 2023icpc大学生程序设计竞赛-zx

    第一次出市打线下,洛阳师范风景不错,就是比赛的筹备有点波折.题目在这几次xcpc省赛算是比较难的.开始一个二维前缀和板子以及一个小贪心还是顺利拿下,后面那个dp一直是我们的短板wa了几发才过,后面就是 ...

  3. Spring-Bean实例化三种的方式

    Bean实例化三种方式 无参构造实例化(重点) 工厂静态方法实例化 工厂实例方法实例化 工厂静态方法实例化 1.编写接口 package com.my; public interface UserDa ...

  4. C++ 核心指南之 C++ P.哲学/基本理念(上)

    C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup.Herb Sutter 等顶尖 C+ 专家创建的一份 C++ 指南.规则及最佳实践.旨在帮助大家正确 ...

  5. 将excel中的多列内容合并为一列

    有需求,就有方法.实现如下: 1. 需求: 将A.B两列数据合并为一列 2. 方法: 2.1 在C列输入A.B两列合并后的数据:501001001 2.2 选中C列,按组合键 Ctrl+E,在C列中就 ...

  6. 耗时6个月,我做了一款干净、免费、开源的AI数据库

    一.Chat2DB简介 在消失的这段时间,我和小伙伴们做了一款集成了AI的数据库管理工具Chat2DB. 他是数据库也集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,还 ...

  7. Mybatis操作数据库流程源码

    Java操作数据库需要经过3个大步骤: 获取数据库连接 执行SQL语句 关闭数据库连接 Mybatis将这几个步骤进行了封装,将获取数据库连接的给工作交给了SqlSessionFactory,将执行S ...

  8. Ansible快速复习

    本文章是上一篇ansible自动化运维的快速复习以及项目上用到的一些命令,针对长时间未使用ansible,导致命令忘记的同学,帮助快速回忆.详细内容还是看上一章'ansible自动化运维'. 查看版本 ...

  9. cockpit--一款开源的适用于单主机的Linux监控面板

    在搜索Linux监控时,偶然发现一款还不错的监控面板,该面板为red hat开发,适用于各种Linux发行版,部署也非常方便,官方文档Running Cockpit - Cockpit Project ...

  10. Ascend C保姆级教程:我的第一份Ascend C代码

    本文分享自华为云社区<Ascend C保姆级教程:我的第一份Ascend C代码>,作者:昇腾CANN . Ascend C是昇腾AI异构计算架构CANN针对算子开发场景推出的编程语言,原 ...