首页 > 其他分享 >docker的疑难杂症

docker的疑难杂症

时间:2023-10-27 15:34:10浏览次数:39  
标签:容器 端口 疑难杂症 命令 报错 mysql 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

image-20231027145316827

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占了)

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

image-20231027150501233

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

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

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

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

image-20231027151212380

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

标签:容器,端口,疑难杂症,命令,报错,mysql,docker
From: https://www.cnblogs.com/malinyan/p/17792447.html

相关文章

  • docker部署开源MQTT平台mosquitto
    一、安装docker在开始之前,确保你的系统上已经安装了Docker。Docker提供了一个开放的平台,可以在容器中打包、分发和运行应用程序。你可以从Docker官方网站下载和安装适合你操作系统的Docker版本。二、拉取MosquittoDocker镜像这里我们以阿里云的Ubuntu系统为例。想要在docker中部......
  • graalvm 23.1.0 独立nodejs docker 镜像&简单试用
    graaljsdocker镜像很简单就是下载官方包,集成下,然后进行一些简单的配置DockerfileFROMdebian:bullseye-backportsLABELauthor="rongfengliang"LABELemail="1141591465@qq.com"WORKDIR/opt/RUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime\&&am......
  • docker: Error response from daemon: Conflict. The container name "/web" is alrea
    问题:docker启动docker容器时报错docker:Errorresponsefromdaemon:Conflict.ThecontainernameisalreadyinusebycontainerYouhavetoremove(orrename)thatcontainertobeabletoreusethatname.解决办法:在此之前已经启动了相同名字的docker容器,Thecontai......
  • docker如何停止容器(docker如何停止容器进程)
    https://www.yzktw.com.cn/post/1303236.htmlDocker是一款流行的容器化平台,它允许用户创建、部署和运行容器。在使用Docker时,您可能需要停止容器以进行维护或其他操作。下面我们介绍几种停止Docker容器的方法。方法一:使用dockerstop命令dockerstop[容器名/容器id]这个命令......
  • podman/docker重启后自动运行容器
    背景今天发现云主机oom重启之后podman的容器没有自动运行,大概看了一下,是因为Podman不试用Daemon守护进城,所以podman启动后不自动启动容器。这里试用systemd进行自启动管理。方案可以使用podmangeneratesystemd生成并管理生成systemd文件#podmangenerate......
  • 本地docker搭 建开源MySQL审计平台 yearning
     简单介绍:Yearning是一个轻量级的Web端的MySQLSQL语句审核平台,提供查询审计,SQL审核,SQL回滚,自定义工作流等多种功能。Yearning的前端是基于Vue.js构建的,它还提供SQL语法高亮、自动补全和智能提示、可视化等。Yearning自身包含了一套通常适用的审核规范,基本上能满足日常需要,同......
  • linux用docker
    1.查看docker运行状态systemctlstatusdocker2.查看docker服务是否自启动systemctlis-enabled docker 3.查看docker下运行的所有容器4.启动docker systemctlstart docker5.启动docker下的容器docker-compose-fdocker-compose.yml up-d或启动指定的容器......
  • Docker
    Docker能够解决的问题——项目部署的问题大型项目组件比较多,容易出现兼容性问题开发、测试、生产环境有差异Docker如何解决依赖的兼容问题?将应用的lib(函数库)、Deps(依赖)、配置与应用一起打包将每个应用放到一个隔离容器去运行,避免相互干扰不同环境的操作系统......
  • kubernetes+docker+kubeadm快速安装
    1.Kubernetes1.27发布2023年4月13日,Kubernetes1.27正式发布,这是2023年的第一个版本。这个版本包括60项增强功能。其中18项增强功能进入Alpha、29项进入Beta,还有13项升级为Stable稳定版。2.环境准备2.1主机操作系统操作系统及版本备注CentOS7.9......
  • 从Docker到Kubernetes
    1简介1.1什么是容器传统的虚拟化技术,比如VMWare,目标是创建完整的虚拟机。为了运行应用,除了部署应用本身及其依赖(通常几十MB),还得安装整个操作系统(几十GB)。如图所示,由于所有的容器共享同一个HostOS,这使得容器在体积上要比虚拟机小很多。另外,启动容器不需要启动整个操作系......