使用docker启动一个mysql服务,怎样把配置文件和数据库文件,log等全部挂在到宿主机

使用docker启动一个mysql服务,怎样把配置文件和数据库文件,log等全部挂在到宿主机,求详细步骤,感谢!

以下是来自GPT的回答
你可以使用 Docker 的 -v 选项将宿主机目录挂载到容器中。例如,如果你想将 MySQL 的数据目录挂载到宿主机的 /opt/mysql/data 目录中,你可以使用以下命令启动容器:

docker run -d -p 3306:3306 \
  -v /opt/mysql/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  mysql:8

这样,MySQL 容器中的 /var/lib/mysql 目录就会挂载到宿主机的 /opt/mysql/data 目录中。您也可以使用类似的方法将其他目录,如 MySQL 的配置文件目录 /etc/mysql 和日志目录 /var/log/mysql 挂载到宿主机。

请注意,如果您在宿主机上没有创建相应的目录,Docker 将在启动容器时自动创建它们。

例如,如果你想将 MySQL 的数据目录、配置文件目录和日志目录都挂载到宿主机,你可以使用以下命令启动容器:

docker run -d -p 3306:3306 \
  -v /opt/mysql/data:/var/lib/mysql \
  -v /opt/mysql/config:/etc/mysql \
  -v /opt/mysql/logs:/var/log/mysql \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  mysql:8

这样,MySQL 的数据目录就会挂载到宿主机的 /opt/mysql/data 目录中,配置文件目录会挂载到 /opt/mysql/config 目录中
不知道这对您有没有帮助