当前位置: 首页 > 知识库问答 >
问题:

Docker db容器正在运行。另一个带有pid的进程正在使用unix套接字文件

王宏深
2023-03-14

我试图运行一个docker mysql容器与初始化db根据此消息中提供的指令https://stackoverflow.com/a/29150538/6086816.第一次运行后工作正常,但在第二次运行,尝试执行脚本 /usr/sbin/mysqld后,我得到这个错误:

db_1|2016-03-19T14:50:14.819377Z 0[ERROR]pid 10的另一个进程是使用unix套接字文件。

db\U 1 | 2016-03-19T14:50:14.819498Z 0[错误]无法设置unix套接字锁定文件。

...

mdir_db_1退出代码1

会是什么原因呢?

共有3个答案

上官景铄
2023-03-14

我也面临同样的问题。以下是我尝试解决此问题的步骤-

>

现在,使用以下路径进入Linux系统中的docker文件夹- /var/lib/docker.

然后在docker文件夹中,您需要进入volumes文件夹。此文件夹包含所有容器的卷(每个容器的内存)-cd/卷

进入卷do“sudo ls”后,您将找到多个具有哈希名称的文件夹。这些文件夹是容器的卷。每个文件夹都以其哈希值命名(您需要检查docker容器并获取容器卷的哈希值。为此,您需要执行以下步骤-

运行命令“docker inspect‘your container ID’”。

现在您将获得一个JSON文件。它是docker容器的配置文件。

搜索此JSON文件中的挂载密钥。在Mounts中,您将获得卷的名称(哈希)。(您还可以在装载中获得卷的路径。在装载中,“Name”键是卷名,“Source”是卷所在的路径。))。

>

  • 获得卷的名称后,可以进入卷文件夹,并在此文件夹中找到“\u data”文件夹。进入此文件夹。

    最后,在“\u data”文件夹中使用sudo ls命令,您将找到一个名为mysql的文件夹。短袜锁通过“rm-f mysql.sock.lock”删除此文件夹。

    现在重新启动docker服务,然后启动docker容器。它将开始工作。

    注意-在docker容器文件夹中的每个命令中使用sudo。

  • 乐成济
    2023-03-14

    这是docker的一个小故障。

    执行以下命令:

    docker stop $(docker ps -a -q)
    docker rm $(docker ps -a -q)
    

    这将停止所有容器并将其移除。

    在这之后,它应该工作得很好。

    顾英发
    2023-03-14

    在启动mysql之前,应该确保已删除套接字文件。看看我的。cnf(/etc/mysql/my.cnf)文件,以获取套接字文件的路径。查找类似以下内容的socket=/var/run/mysqld/mysqld。袜子。并删除。短袜同时锁定文件。

     类似资料:
    • 问题内容: 我目前正在JAVA中构建一个应用程序,其中只能执行一次。因此,我当前正在使用一个锁定文件,在其中写入当前执行的PID。 因此,只要此应用程序启动,它将打开文件(如果存在)并尝试检测写入文件的PID是否正在实际运行。 这样可以防止我的应用在解锁文件之前崩溃的问题。 我需要它在Windows(XP,7或8)和linux(所有用户都在基于debian的发行版)上工作。 这是一些代码,可以让您

    • 我需要一个帮助,我正在试图使客户服务器应用程序复制文件在Java...我有一个MainWnd对象,它创建了TCPServer对象,在send按钮上,它将创建TCPClient对象,它将初始数据发送给对手TCPServer并将打开给定数量的侦听线程(让它是n个)(这个侦听线程在这里只是因为它们接受一个文件)(每个线程在不同的端口上侦听发送回TCPClient)TCPClient然后创建n个其他TCP

    • 我必须运行以便对我的进程进行堆转储。但是返回: 所以我用了: 使用可以进行堆转储吗

    • 我一直在研究HandlerThread类,因为最初我使用的是一个简单的线程和处理程序,但是在Android中使用NetworkOnMainThreadException出现了一个裁剪器。 我似乎无法理解如何将套接字之类的东西引入到HandlerThread中,您可以在其中运行阻塞代码。但是您不能使用HandlerThread来实现这一点,因为您不应该覆盖run,因为这是循环器所在的位置。 而且我不

    • 问题内容: 我必须运行才能进行进程的堆转储。但返回: 所以我用了: 使用 可以进行堆转储吗? 我正在等待20分钟,尚未完成。有什么想法吗? 问题答案: jmapvs. jmap -F以及jstackvs. jstack -F使用完全不同的机制与目标JVM通信。 jmap / jstack 在没有这些工具的情况下运行时,请使用动态附加机制。其工作原理如下。 连接到进程1234之前,请在目标进程的工作

    • 我用的是Netty camel-Netty:jar:2 . 10 . 0 . red hat-60024。下面是我对Netty监听器的配置 荨麻:tcp://10.1.33.204:9001?textline=true 在这里,我看到基于调试日志,Netty只创建一个工作线程,所以传入的消息被阻塞,直到现有的消息被处理。 喜欢: 2014-08-23 12:36:48,394|DEBUG|w I/