docker官方mysql鏡像自定義配置

以前爲了節省安裝時間,因此用官方mysql docker鏡像啓動mysql。
經過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 版本sql

這樣數據是沒有持久化的 因此在啓動參數中須要掛載本地目錄docker

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

因而這樣數據庫一直跑着,可是因爲最近程序須要支持emoji表情,不得不將mysql的字符集更改。數據庫

這時候就能夠掛載自定義配置文件,官方文檔說明code

當 MySQL 服務啓動時會以 /etc/mysql/my.cnf 爲配置文件,本文件會導入 /etc/mysql/conf.d 目錄中全部以 .cnf 爲後綴的文件。這些文件會拓展或覆蓋 /etc/mysql/my.cnf 文件中的配置。所以你能夠建立你本身須要的配置文件並掛載至 MySQL 容器中的 /etc/mysql/conf.d 目錄。

因此最簡單改變數據庫配置的方式就是在宿主機上新建配置文件,改爲utf8mb4server

[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容器文件夾下ci

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

最後使用docker stop和start命令重啓容器就實現了加載自定義配置。unicode

相關文章
相關標籤/搜索