1. 案例:MySQL容器的數(shù)據(jù)掛載
- 查看MySQL容器,判斷是否有數(shù)據(jù)卷掛載
- 基于宿主機(jī)目錄實(shí)現(xiàn)MySQL數(shù)據(jù)目錄、配置文件、初始化腳本的掛載
[root@172 _data]# docker inspect nginx
docker inspect nginx
是用來獲取關(guān)于 Docker 容器或鏡像配置和元數(shù)據(jù)的詳細(xì)信息的命令。
當(dāng)你運(yùn)行 docker inspect
命令時(shí),它將返回一個(gè) JSON 格式的輸出,其中包含有關(guān)指定容器或鏡像的各種信息,包括:名稱、ID、創(chuàng)建時(shí)間、網(wǎng)絡(luò)設(shè)置、掛載點(diǎn)、端口映射、環(huán)境變量、鏡像信息等等。
對(duì)于 docker inspect nginx
命令來說,它會(huì)返回有關(guān)名為 “nginx” 的容器的詳細(xì)信息。你可以使用這些信息來了解容器的配置、網(wǎng)絡(luò)設(shè)置、掛載點(diǎn)和其他相關(guān)的元數(shù)據(jù)。
掛載信息
查看數(shù)據(jù)卷
查看MySQL數(shù)據(jù)卷掛載在宿主機(jī)的位置,但是我們沒有設(shè)置數(shù)據(jù)卷,所以是亂碼
mysql的重要數(shù)據(jù)都在宿主機(jī)中
2. 將MySQL掛載到我們指定的目錄
MySQL會(huì)將數(shù)據(jù)存儲(chǔ)目錄掛載到宿主機(jī),但是MySQL會(huì)生成匿名卷,當(dāng)我們對(duì)MySQL進(jìn)行升級(jí)時(shí),會(huì)把原來的MySQL容器刪除,為了原來數(shù)據(jù)不丟失(當(dāng)然可以吧原來的數(shù)據(jù)遷移到新的升級(jí)版本后mysql的匿名卷),我們可以將容器目錄與宿主機(jī)指定目錄掛載。
# 掛載本地目錄
-v 本地目錄:容器內(nèi)目錄
# 掛載本地文件
-v 本地文件:容器內(nèi)文件
注意:本地目錄或文件必須以 / 或 ./開頭,如果直接以名字開頭,會(huì)被識(shí)別為數(shù)據(jù)卷名而非本地目錄名。
基于宿主機(jī)目錄實(shí)現(xiàn)MySQL數(shù)據(jù)目錄、配置文件、初始化腳本的掛載文章來源:http://www.zghlxwxcb.cn/news/detail-740542.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-740542.html
# 1.刪除原來的MySQL容器
docker rm -f mysql
# 2.進(jìn)入root目錄
cd ~
# 3.創(chuàng)建并運(yùn)行新mysql容器,掛載本地目錄
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v ./mysql/data:/var/lib/mysql \
-v ./mysql/conf:/etc/mysql/conf.d \
-v ./mysql/init:/docker-entrypoint-initdb.d \
mysql
# 4.查看root目錄,可以發(fā)現(xiàn)~/mysql/data目錄已經(jīng)自動(dòng)創(chuàng)建好了
ls -l mysql
# 結(jié)果:
總用量 4
drwxr-xr-x. 2 root root 20 5月 19 15:11 conf
drwxr-xr-x. 7 polkitd root 4096 5月 19 15:11 data
drwxr-xr-x. 2 root root 23 5月 19 15:11 init
# 查看data目錄,會(huì)發(fā)現(xiàn)里面有大量數(shù)據(jù)庫數(shù)據(jù),說明數(shù)據(jù)庫完成了初始化
ls -l data
# 5.查看MySQL容器內(nèi)數(shù)據(jù)
# 5.1.進(jìn)入MySQL
docker exec -it mysql mysql -uroot -p123
# 5.2.查看編碼表
show variables like "%char%";
# 5.3.結(jié)果,發(fā)現(xiàn)編碼是utf8mb4沒有問題
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
# 6.查看數(shù)據(jù)
# 6.1.查看數(shù)據(jù)庫
show databases;
# 結(jié)果,hmall是黑馬商城數(shù)據(jù)庫
+--------------------+
| Database |
+--------------------+
| hmall |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
# 6.2.切換到hmall數(shù)據(jù)庫
use hmall;
# 6.3.查看表
show tables;
# 結(jié)果:
+-----------------+
| Tables_in_hmall |
+-----------------+
| address |
| cart |
| item |
| order |
| order_detail |
| order_logistics |
| pay_order |
| user |
+-----------------+
# 6.4.查看address表數(shù)據(jù)
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
| id | user_id | province | city | town | mobile | street | contact | is_default | notes |
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
| 59 | 1 | 北京 | 北京 | 朝陽區(qū) | 13900112222 | 金燕龍辦公樓 | 李佳誠 | 0 | NULL |
| 60 | 1 | 北京 | 北京 | 朝陽區(qū) | 13700221122 | 修正大廈 | 李佳紅 | 0 | NULL |
| 61 | 1 | 上海 | 上海 | 浦東新區(qū) | 13301212233 | 航頭鎮(zhèn)航頭路 | 李佳星 | 1 | NULL |
| 63 | 1 | 廣東 | 佛山 | 永春 | 13301212233 | 永春武館 | 李曉龍 | 0 | NULL |
+----+---------+----------+--------+----------+-------------+---------------+-----------+------------+-------+
4 rows in set (0.00 sec)
到了這里,關(guān)于Docker:本地目錄掛載的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!