一般來說是不需要手動指定MySQL掛載卷,因為mysql會自動掛載,
centos 安裝docker,通過 dokcer inspect 你的容器名稱 可以查看容器已掛載的路徑 /var/lib/docker/volumes/855a71109c9ac92a8a9243cc5058aaa41******
如果刪除了容器,可以在重新run一個mysql的時候把“/var/lib/docker/volumes/855a71109c9ac92a8a9243cc5058aaa41******”這個掛上去,這樣以前的數據也可以使用,
如果在run的時候手動指定掛載卷,則mysql的數據會以指定的目錄掛載
1:下載鏡像
docker pull mysql:8.0.17
2:啟動
# 運行mysql命名容器名稱為mysql并且設置root賬號初始密碼為root
docker run-p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="root" -d mysql:8.0.17
3:確定mysql配置文件路徑
#進入docker容器,mysql為剛安裝的容器名稱
docker exec-it mysql bash
# 查找Docker內,MySQL配置文件my.cnf的位置
mysql--help | grep my.cnf
4:創建本地路徑并掛載Docker內數據
mkdir -p /home/data/mysql/conf && mkdir -p /home/data/mysql/data
# 將容器的配置復制到服務器
docker cp mysql:/etc/mysql/my.cnf /home/data/mysql/conf/my.cnf
# 修改字符集
vim /home/data/mysql/conf/my.cnf
character-set-server=utf8
5:重新創建容器
docker run --name mysql \
-p 3306:3306 \
-v /home/data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/data/mysql/data:/var/lib/mysql \
-v /home/data/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
-d mysql:8.0.17
docker inspect mysql
查看已掛載的卷就是指定的目錄了
6:到此mysql已經創建完畢,可以遠程連接數據,創建測試數據庫"test"
7:查看掛載的本地data目錄下是否有新建的數據庫“test”,有說明掛載成功
8:移除剛創建的容器,看看本地data數據盤,"test"數據是否依然存在
9:重新部署mysql數據庫docker容器,遠程連接數據庫,發現數據庫依然存在"test"數據庫,說明數據持久化成功
10:修改時區
vim /home/data/mysql/conf/my.cnf
添加 default-time-zone = '+08:00'
重啟docker中的mysql容器即可,不是docker中的mysql重啟mysql服務即可
docker restart your_mysql_name
再次進入mysql中查看當前時間和時區
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态