前言
需要在測(cè)試環(huán)境先進(jìn)行試驗(yàn),操作不當(dāng)可能導(dǎo)致容器無(wú)法啟動(dòng)!??!
操作系統(tǒng):CentOS 7.9.2009 x86_64
Docker 版本:20.10.12
一、為什么進(jìn)行該操作?
使用 Docker 進(jìn)行部署 TDengine 數(shù)據(jù)庫(kù),需要每天進(jìn)行數(shù)據(jù)備份,但是創(chuàng)建該容器時(shí)沒有添加目錄映射到宿主機(jī),如果容器異??赡軐?dǎo)致數(shù)據(jù)無(wú)法恢復(fù)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-761603.html
二、使用步驟
1.查看容器存放目錄
[root@iZ8vb4dtxkvou8zszgdug8Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
664fcaf90293 tdengine/tdengine "/tini -- /usr/bin/e…" 4 weeks ago Up 16 minutes 0.0.0.0:6030->6030/tcp, 0.0.0.0:6041->6041/tcp, 0.0.0.0:6043-6049->6043-6049/tcp, 0.0.0.0:6043-6049->6043-6049/udp tdengine
2.查看要新增掛載的容器 ID
[root@iZ8vb4dtxkvou8zszgdug8Z ~]# cd /var/lib/docker/containers
[root@iZ8vb4dtxkvou8zszgdug8Z containers]# ll
total 16
drwx--x--- 4 root root 4096 Jul 16 14:25 664fcaf902931245658b20e33941c0fae78d0a3b60b318fda2f4163d85b54497
3.進(jìn)入容器目錄
[root@iZ8vb4dtxkvou8zszgdug8Z containers]# cd 664fcaf902931245658b20e33941c0fae78d0a3b60b318fda2f4163d85b54497/
[root@iZ8vb4dtxkvou8zszgdug8Z 664fcaf902931245658b20e33941c0fae78d0a3b60b318fda2f4163d85b54497]# ll
total 1011816
-rw-r----- 1 root root 1036058432 Jul 16 14:50 664fcaf902931245658b20e33941c0fae78d0a3b60b318fda2f4163d85b54497-json.log
drwx------ 2 root root 4096 Jun 16 09:50 checkpoints
-rw------- 1 root root 4991 Jul 16 14:25 config.v2.json
-rw-r--r-- 1 root root 2211 Jul 16 14:25 hostconfig.json
-rw-r--r-- 1 root root 13 Jul 16 14:25 hostname
-rw-r--r-- 1 root root 174 Jul 16 14:25 hosts
drwx--x--- 2 root root 4096 Jun 16 09:50 mounts
-rw-r--r-- 1 root root 149 Jul 16 14:25 resolv.conf
-rw-r--r-- 1 root root 71 Jul 16 14:25 resolv.conf.hash
4.修改 config.v2.json 和 hostconfig.json
- 關(guān)閉 docker(如果先修改了這兩個(gè)文件,再關(guān)閉docker,會(huì)導(dǎo)致新增的目錄映射失效)
systemctl stop docker
- 將容器中的 /home 目錄映射到宿主機(jī)的 /home/taosdata 目錄下
- 修改 config.v2.json
vim config.v2.json #找到 MountPoints,添加以下配置
"/home":{
"Source":"/home/taosdata",
"Destination":"/home",
"RW":true,
"Name":"",
"Driver":"",
"Type":"bind",
"Spec":{
"Type":"bind",
"Source":"/home/taosdata",
"Target":"/home"
},
"SkipMountpointCreation":false
}
- 修改 hostconfig.json
vim hostconfig.json #找到 MountPoints,添加以下配置
"Binds": [
"/home/taosdata:/home"
]
- 注意事項(xiàng)以及修改結(jié)果
config.v2.json 和 hostconfig.json 文件 vim 命令打開后,并非格式化后的 json,這里可以通過 :%!python3 -m json.tool 命令將其進(jìn)行格式化,config.v2.json 修改后如下圖所示:
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-761603.html
5.重啟 Docker 與容器
systemctl start docker
docker start 容器ID
到了這里,關(guān)于Docker 對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!