gpt4 book ai didi

mysql - Docker容器仅在附加卷时停止运行

转载 作者:行者123 更新时间:2023-11-30 22:04:55 26 4
gpt4 key购买 nike

我写了一个在 ubuntu 镜像上运行 mysql 的 dockerfile。 Dockerfile 是:

FROM ubuntu
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
RUN sed -i '43s/.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
EXPOSE 3306
ENTRYPOINT service mysql start && bash

如果我运行:

docker run -dit mysql-server

构建容器后一切正常,我的 Apache/PHP 容器可以与其通信。但是,如果我在附加卷(docker run -dit -v ~/vol/:/var/lib/mysql/mysql-server)的情况下运行它,容器将在 30 秒后停止运行(我我很确定每次都是相同的时间)。

有谁知道我可以保持容器运行并安装卷的方法吗?我以前从未遇到过这个问题,也无法在网上找到其他任何东西(我已经找了一段时间)。谢谢。

最佳答案

这是因为你用 ~/vol 的内容屏蔽了 /var/lib/mysql 的内容,我假设它是空的。因此,MySQL 服务器无法启动,因为它缺少数据库文件。我个人会在您的自定义实现上使用官方图像,因为它将处理您正在寻找的内容 here is the link to Dockerhub .如果您需要这些更改,它可以选择安装您的自定义 my.cnf 文件。但是默认情况下图像确实绑定(bind)到 0.0.0.0。有关配置选项,请参阅 Dockerhub 链接。

希望对你有帮助

迪伦

关于mysql - Docker容器仅在附加卷时停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42125186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com