gpt4 book ai didi

mysql - Docker:在停止的容器中编辑 "my.cnf"文件

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:36 30 4
gpt4 key购买 nike

对“my.cnf”进行编辑后,当我尝试启动容器时,我现在从 Mac 上的 Kitematic 收到错误消息:

mysqld: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 19! mysqld: 
[ERROR] Fatal error in defaults handling. Program aborted!

我尝试通过以下方式访问容器:

docker exec -it [container] bash

...但是我得到了错误:

Error response from daemon: Container [container] is not running

我能够通过图像访问某物,但文件似乎不一样,所以我不确定发生了什么(我不太熟悉 Docker ).

在此阶段,进行适当的编辑和修复容器,或者以某种方式将 MySQL 数据克隆到另一个容器是理想的。

最佳答案

要修复 my.cnf,可以使用 docker container cp。它适用于停止的容器。

  1. 将文件从您的容器复制到当前路径
docker container cp containerId:/etc/mysql/my.cnf container-my.cnf
  1. 然后编辑 container-my.cnf 并从路径复制回容器:
docker container cp container-my.cnf containerId:/etc/mysql/my.cnf

在新容器中使用现有的 MySQL 数据:

docker container inspect -f '{{.Mounts}}' [container]

为您提供数据所在的卷名称(键 volume)。然后启动一个新的mysql容器,并将卷挂载到/var/lib/mysql下:

docker container run -d -v [volume_name]:/var/lib/mysql [image]

之后你可以删除旧容器(实际上你可以在创建新容器之前删除它)

关于mysql - Docker:在停止的容器中编辑 "my.cnf"文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581409/

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