docker的疑难杂症
本篇博客主要是解决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的疑难杂症的更多相关文章
- 5.docker的疑难杂症
根据官方文档:https://docs.docker.com/install/linux/docker-ce/centos/搭建docker 1.卸载docker旧版本: sudo yum remov ...
- Centos环境docker的正确安装及疑难杂症
根据官方文档:https://docs.docker.com/install/linux/docker-ce/centos/搭建docker 1.卸载docker旧版本: sudo yum remov ...
- Exceptionless in Docker on Linux 搭建及部署疑难杂症
https://github.com/exceptionless/Exceptionless https://github.com/exceptionless/Exceptionless.UI 项目拉 ...
- [Docker-2]排查基于docker部署mysql主从过程中遇到“Slave_IO_Running: Connecting”这个疑难杂症
关于"Slave_IO_Running: Connecting"的排查方法,已经有很多博客写得清清楚楚了(很多都是复制粘贴..真浪费时间),那么如果已有的常规排查方法都不能解决你的 ...
- 什么是 docker?
关于 Docker 是什么,有个著名的隐喻:集装箱.但是它却起了个“码头工人”( docker 的英文翻译)的名字.这无疑给使用者很多暗示:“快来用吧!用了 Docker ,就像世界出现了集装箱,这样 ...
- docker创建本地主机实例Virtualbox 驱动出错
宿主机系统:Centos7 64位 创建主机实例Virtualbox 命令:docker-machine create -d virtualbox test 连接centos工具:Finalshell ...
- K8s+Docker 学习笔记系列
学前知识 你需要掌握 Linux 的常用命令.你可以通过Linux 教程 来学习相关命令. Docker应用场景 Web 应用的自动化打包和发布. 自动化测试和持续集成.发布. 在服务型环境中部署和调 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
随机推荐
- [数据分析与可视化] 基于plottable库绘制精美表格
plottable是一个Python库,用于在matplotlib中绘制精美定制的图形表格.plottable的官方仓库地址为:plottable.本文主要参考其官方文档,plottable的官方文档 ...
- 一文了解io包中的discard类型
1. 引言 io.discard是Go语言标准库提供一个结构体类型,其在丢弃不需要的数据场景下非常好用.本文我们将从io.discard 类型的基本定义出发,讲述其基本使用和实现原理,接着简单描述 i ...
- Federated Learning004
联邦学习--笔记004 2023.03.13周一 快中期答辩了(3.20),最近甲流高发期 毕设期间,今天学习了联邦学习的一篇论文---Differentially Private Federated ...
- windows内核情景分析-毛德操(第一章)
微内核操作系统的特点内核尽量缩小 windows内核包括了两大部分 操作系统内核(ntoskrnl.exe),另一部分则是迁移到了内核中即系统空间中的视窗服务(win32k.sys) 用户空间和系统空 ...
- 【MAUI Blazor踩坑日记】3.Windows标题栏自定义颜色,运行时改变颜色
目录 修改默认颜色 修改运行时颜色 效果图 MAUI中Windows默认的标题栏颜色是灰色的,有一点丑. 如果去掉默认的标题栏,自己画一个,可能会出现问题,也比较麻烦. 想要自定义默认标题栏的颜色,官 ...
- Java服务刚启动时,一小波接口超时排查全过程
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 简介 我们组有一个流量较大的Java服务,每次发代码时,服务都会有一小波接口超时,之前简单分析过,发现这些超时的 ...
- React报错:You are running `create-react-app` 5.0.0, which is behind the latest release (5.0.1).
错误 解决方案 说白了就是版本过低,升级下就好.或者按照提示卸载掉原来的版本,之后输入临时创建命令即可,如下图所示 参考链接 https://stackoverflow.com/questions/7 ...
- Oracle 11g手工建库
搭建环境 1.建立相应的目录 mkdir /u01/app/oracle/oradata/test1 mkdir /u01/app/oracle/fast_recovery_area/test1 mk ...
- 从原理聊JVM(四):JVM中的方法调用原理
1 引言 多态是Java语言极为重要的一个特性,可以说是Java语言动态性的根本,那么线程执行一个方法时到底在内存中经历了什么,JVM又是如何确定方法执行版本的呢? 2 栈帧 JVM中由栈帧存储方法的 ...
- 文心一言 VS 讯飞星火 VS chatgpt (72)-- 算法导论7.1 3题
三.请简要地证明:在规模为 n 的子数组上,PARTITION 的时间复杂度为 Θ(n). 文心一言: 首先,我们需要明确PARTITION函数的具体定义.PARTITION函数通常用于快速排序算法中 ...