iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >docker官方mysql镜像自定义配置的方法
  • 404
分享到

docker官方mysql镜像自定义配置的方法

2024-04-02 19:04:59 404人浏览 独家记忆
摘要

这篇“Docker官方Mysql镜像自定义配置的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看

这篇“Docker官方Mysql镜像自定义配置的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker官方mysql镜像自定义配置的方法”文章吧。

复制代码 代码如下:

$ docker run --name some-mysql -e mysql_root_passWord=my-secret-pw -d daocloud.io/mysql:tag

some-mysql 指定了该容器的名字,my-secret-pw 指定了 root 用户的密码,tag 参数指定了你想要的 mysql 版本

这样数据是没有持久化的 所以在启动参数中需要挂载本地目录

于是这样数据库一直跑着,但是由于最近程序需要支持emoji表情,不得不将mysql的字符集更改。

复制代码 代码如下:

$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e mysql_root_password=my-secret-pw -d daocloud.io/mysql:tag

这时候就可以挂载自定义配置文件,官方文档说明

当 mysql 服务启动时会以 /etc/mysql/my.cnf 为配置文件,本文件会导入 /etc/mysql/conf.d 目录中所有以 .cnf 为后缀的文件。这些文件会拓展或覆盖 /etc/mysql/my.cnf 文件中的配置。因此你可以创建你自己需要的配置文件并挂载至 mysql 容器中的 /etc/mysql/conf.d 目录。

所以最简单改变数据库配置的方式就是在宿主机上新建配置文件,改成utf8mb4

[client]

default-character-set=utf8mb4


[mysqld]

character-set-client-handshake = false

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set=utf8mb4

随后将文件复制到相应docker容器文件夹下

docker cp /home/my.cnf(宿主机文件路径) [容器id]:/etc/mysql/mysql.conf.d

最后使用docker stop和start命令重启容器就实现了加载自定义配置。

由docker的mysql官方镜像配置的容器无法启动问题

我使用的是mysql的docker镜像。先创建并启动镜像:

# docker run --name mysql-b \
> -p 33002:3306 -v /zc/mysql/datadir-b:/var/lib/mysql \
> -e mysql_root_password='123456' -d mysql:latest

正常启动,没有问题。通常我们使用mysql的时候,需要设置参数。要设置参数,我们先得进入容器的bash,进行操作:

docker exec -it mysql-b bash

mysql的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。因为 mysql 的 docker 官方镜像没有提供 vim 编辑器,所以我用cat命令生成文件并添加内容:

# cat >test.cnf <<eof
[mysqldump]
user=root
password='123456'
[mysqld]
max_allowed_packet=8m
lower_case_table_names=1
character_set_server=utf8
max_connections=900
max_connect_errors=600
default-character-set=utf8
eof

退出后,停止容器,再重新启动容器,发现容器无法启动。

解决方法

删除原来那个不能启动的容器。重新创建一个新的容器。问题的关键在于原来的 test.cnf 文件有错误。找到原来配置文件的最后一行:

default-character-set=utf8

把这一行删除。添加配置文件的时候保证没有这一行就可以了。

问题原因

mysql 的官方 docker 镜像里面,在标签 latest 下,[mysqld] 这一配置段上并没有 default-character-set 这一配置项。
如果你要查看所有的配置项,可以使用如下命令,利用管道将输出的帮助都放到 help.txt 文件里面:

docker run -it --rm mysql:tag --verbose --help > help.txt

其中 tag 表示镜像的标签,比如 latest 和 5.6。

以上就是关于“docker官方mysql镜像自定义配置的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: docker官方mysql镜像自定义配置的方法

本文链接: https://www.lsjlt.com/news/96277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker官方mysql镜像自定义配置的方法
    这篇“docker官方mysql镜像自定义配置的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2024-04-02
  • Docker镜像的使用方法
    这篇文章将为大家详细讲解有关Docker镜像的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓...
    99+
    2023-06-06
  • SpringCloud Feign Jackson自定义配置的方法
    今天小编给大家分享一下SpringCloud Feign Jackson自定义配置的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2023-06-29
  • composer配置中国镜像的方法
    小编给大家分享一下composer配置中国镜像的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!composer 如何配置中国镜像?(解决没有VPN)全局配置 ...
    99+
    2023-06-14
  • docker通过Dockerfile构建mysql镜像的方法
    构建Dockerfile ,路径 /docker/mysql FROM hub.c.163.com/library/mysql:5.7 #作者信息 MAINTAINER hu "**...
    99+
    2024-04-02
  • SpringCloudFeignJackson自定义配置方式
    目录Feign Jackson自定义配置出现的问题解决思路解决方法Feign自定义配置应用环境自定义Feign的配置Feign中记录日志测试Feign自定义的配置查看日志Feign ...
    99+
    2024-04-02
  • Spring boot 自定义 Starter及自动配置的方法
    目录Starter 组件简介自定义 Starter 组件Starter 组件使用 StarterStarter 传参自身与第三方维护Starter 组件简介 Starter 组件是 ...
    99+
    2022-12-08
    Spring boot 自定义 Starter Spring boot自动配置
  • Docker使用镜像仓库的方法
    为什么用镜像仓库 核心的原因是足够方便和不容易出错。 操作流程是这样的:首先在本地docker完成镜像配置和部署等操作,测试无误后将本地镜像推到镜像仓库。需要部署到服务器时,只需要在...
    99+
    2024-04-02
  • Docker镜像导入导出的方法
    本篇内容主要讲解“Docker镜像导入导出的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker镜像导入导出的方法”吧!docker save说明:将指定镜像保存成 tar 归档文件,...
    99+
    2023-06-29
  • Docker本地导入镜像/保存镜像/载入镜像/删除镜像的方法
    本篇内容介绍了“Docker本地导入镜像/保存镜像/载入镜像/删除镜像的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2024-04-02
  • 修改Docker镜像默认存储位置的方法(解决方法)
    由于系统初始分区的原因,导致操作系统中对应 / 分区不会太大,通过 /var 目录不会单独分区。如果上面运行 Docker 服务,经过长时间的使用,会使原本就比较大的分区越来越不够用...
    99+
    2024-04-02
  • Docker镜像发布到Docker Hub的实现方法
    目录一、Docker 官网注册一个账号,新建仓库二、制作镜像,保存修改后的容器镜像为例三、镜像上传四、镜像下载在使用docker过程中,往往会用到镜像仓库,方便管理的同时也方便在其他...
    99+
    2024-04-02
  • docker更新镜像的方法有哪些
    Docker 更新镜像的方法有以下几种:1. 通过 `docker pull` 命令拉取最新版本的镜像。可以使用 `docker p...
    99+
    2023-08-31
    docker
  • 精简Docker镜像的方法有哪些
    这篇文章主要为大家展示了“精简Docker镜像的方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“精简Docker镜像的方法有哪些”这篇文章吧。精简Docker镜像大小的必要性Docker...
    99+
    2023-06-04
  • docker镜像挂载的方法是什么
    在Docker中,可以通过 -v 或 --volume 参数来挂载本地文件或目录到容器中。具体的方法如下: 将本地文件挂载到容器中...
    99+
    2024-03-05
    docker
  • Docker容器从镜像恢复的方法
    这篇文章主要介绍了Docker容器从镜像恢复的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。查看所有容器:docker container ls&nb...
    99+
    2023-06-14
  • docker删除none镜像的操作方法
    目录docker删除none镜像docker none镜像PS:docker 如何删除none镜像docker删除none镜像 1、使用git bash进入到docker文件夹 2、...
    99+
    2023-01-06
    docker删除none镜像 docker删除镜像 docker 如何删除none镜像
  • SpringBoot打包docker镜像发布的方法
    这篇“SpringBoot打包docker镜像发布的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot打...
    99+
    2023-06-30
  • Docker删除镜像的方法有哪些
    这篇文章主要介绍“Docker删除镜像的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker删除镜像的方法有哪些”文章能帮助大家解决问题。删除镜像如果要删除本地的镜像,可以使用 do...
    99+
    2023-07-05
  • docker镜像分层的方法是什么
    Docker镜像分层是通过使用Union文件系统(UnionFS)实现的。UnionFS是一种轻量级的...
    99+
    2023-09-16
    docker
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作