Docker安裝MySQL並掛載數據及配置文件


下載鏡像

 

# docker從倉庫中拉取最新版的mysql鏡像,如果沒加標簽的話,默認獲取最新的版本latest
docker pull mysql

掛載數據卷以及配置文件

# 運行mysql命名容器名稱為mysql-service並且設置root賬號初始密碼為root 
docker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" mysql

進入Docker容器內

 docker exec -it mysql-service bash

確定Docker內 MySQL 文件相關路徑

# 查找Docker內,MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf

創建本地路徑並掛載Docker內數據

創建本地文件夾

mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data

將測試容器里 MySQL 的配置文件復制到該路徑。日后需改配置,直接在掛載路徑的配置文件上修改即可  

docker cp mysql-service:/etc/mysql/my.cnf /root/docker/mysql/conf

創建 MySQL 容器並啟動

docker run --name mysql-server \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \
--mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf \
--mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql \
--restart=on-failure:3 \
-d mysql
  • --name:為容器指定一個名字
  • -p:指定端口映射,格式為:主機(宿主)端口:容器端口
  • -e:username="xxx",設置環境變量
  • --restart=on-failure:3:是指容器在未來出現異常退出(退出碼非0)的情況下循環重啟3次
  • -mount:綁定掛載
  • -d:后台運行容器,並返回容器 id

  

更改字符集

如果想Mysql在后續的操作中中文不出現亂碼,則需要修改配置文件內容

#登錄mysql
mysql -uroot -p
#查看mysql字符集命令 
show variables like '%char%';

 

 

 修改配置文件

 添加到my.cnf 

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

 重啟docker mysql-server容器

docker restart mysql-server

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM