Docker本地目錄掛載的實現(xiàn)步驟
1. 案例:MySQL容器的數(shù)據(jù)掛載
- 查看MySQL容器,判斷是否有數(shù)據(jù)卷掛載
- 基于宿主機(jī)目錄實現(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
命令時,它將返回一個 JSON 格式的輸出,其中包含有關(guān)指定容器或鏡像的各種信息,包括:名稱、ID、創(chuàng)建時間、網(wǎng)絡(luò)設(shè)置、掛載點、端口映射、環(huán)境變量、鏡像信息等等。
對于 docker inspect nginx
命令來說,它會返回有關(guān)名為 “nginx” 的容器的詳細(xì)信息。你可以使用這些信息來了解容器的配置、網(wǎng)絡(luò)設(shè)置、掛載點和其他相關(guān)的元數(shù)據(jù)。
掛載信息
查看數(shù)據(jù)卷
查看MySQL數(shù)據(jù)卷掛載在宿主機(jī)的位置,但是我們沒有設(shè)置數(shù)據(jù)卷,所以是亂碼
mysql的重要數(shù)據(jù)都在宿主機(jī)中
2. 將MySQL掛載到我們指定的目錄
MySQL會將數(shù)據(jù)存儲目錄掛載到宿主機(jī),但是MySQL會生成匿名卷,當(dāng)我們對MySQL進(jìn)行升級時,會把原來的MySQL容器刪除,為了原來數(shù)據(jù)不丟失(當(dāng)然可以吧原來的數(shù)據(jù)遷移到新的升級版本后mysql的匿名卷),我們可以將容器目錄與宿主機(jī)指定目錄掛載。
# 掛載本地目錄 -v 本地目錄:容器內(nèi)目錄 # 掛載本地文件 -v 本地文件:容器內(nèi)文件
注意:本地目錄或文件必須以 / 或 ./開頭,如果直接以名字開頭,會被識別為數(shù)據(jù)卷名而非本地目錄名。
基于宿主機(jī)目錄實現(xiàn)MySQL數(shù)據(jù)目錄、配置文件、初始化腳本的掛載
# 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)自動創(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目錄,會發(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本地目錄掛載的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker本地目錄掛載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文教你如何通過 Docker 快速搭建各種測試環(huán)境
這篇文章主要介紹了一文教你如何通過 Docker 快速搭建各種測試環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹
這篇文章主要介紹了Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的相關(guān)資料,文中介紹的很詳細(xì),相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。2017-02-02centos7搭建docker私人倉庫的方法(kubernetes)
這篇文章主要介紹了centos7搭建docker私人倉庫的方法(kubernetes),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03利用 Docker 構(gòu)建簡單的 java 開發(fā)編譯環(huán)境的方法詳解
這篇文章主要介紹了利用 Docker 構(gòu)建簡單的 java 開發(fā)編譯環(huán)境的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Docker開放2375端口實現(xiàn)遠(yuǎn)程訪問的操作方法
因為IDEA集成docker環(huán)境,實質(zhì)上是通過遠(yuǎn)程訪問的形式,進(jìn)行連接,因此需要開啟Docker的2375端口的遠(yuǎn)程訪問權(quán)限,這篇文章主要介紹了Docker開放2375端口實現(xiàn)遠(yuǎn)程訪問的操作方法,需要的朋友可以參考下2024-05-05Docker鏡像拉取報錯:Error response from daemon: 
這篇文章主要介紹了Docker鏡像拉取報錯:Error response from daemon: Get https://registry-1.docker.io/v2/的問題解決,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07