網(wǎng)站首頁 編程語言 正文
docker如何對(duì)已經(jīng)啟動(dòng)的容器添加目錄映射(掛載目錄)_docker
作者:alwaysonline819 ? 更新時(shí)間: 2023-05-29 編程語言1. 背景
在自己安裝sharding-proxy時(shí),使用docker run -v
的方式啟動(dòng)時(shí),只掛載了/opt/shardingsphere-proxy/conf
和/opt/shardingsphere-proxy/ext-lib
這兩個(gè)目錄,忘記掛載/opt/shardingsphere-proxy/logs
日志目錄,導(dǎo)致每次查看都得要進(jìn)入容器內(nèi)部去查看,很是麻煩,于是考慮如何在不刪除容器重新啟動(dòng)部署的情況下進(jìn)行新目錄的映射與掛載
2. 開始新增掛載目錄
1.查看容器存放目錄
[root@iZ2zedqr9yeos47fg4uor5Z proxy-a]# docker info | grep 'Root' Docker Root Dir: /var/lib/docker [root@iZ2zedqr9yeos47fg4uor5Z proxy-a]#
2.查看要新增掛載的容器id
[root@iZ2zedqr9yeos47fg4uor5Z proxy-a]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6f5f3c195304 apache/shardingsphere-proxy:5.1.1 "/bin/sh -c '${LOCAL…" 4 days ago Up 9 minutes 0.0.0.0:3321->3307/tcp server-proxy-a
3.進(jìn)入要新增文件夾掛載的目錄
[root@iZ2zedqr9yeos47fg4uor5Z proxy-a]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6f5f3c195304 apache/shardingsphere-proxy:5.1.1 "/bin/sh -c '${LOCAL…" 4 days ago Up 11 minutes 0.0.0.0:3321->3307/tcp server-proxy-a [root@iZ2zedqr9yeos47fg4uor5Z proxy-a]# cd /var/lib/docker/containers/ [root@iZ2zedqr9yeos47fg4uor5Z containers]# ll total 64 drwx------ 4 root root 4096 Nov 7 14:20 1d0c21204385f60fa8859b0ff199569988218e449155634470cfb14ff2ceebf9 drwx------ 4 root root 4096 Nov 7 14:20 21a5f8b6e68ee09f8f80381c536b38abec1b8dcb81c69f1c50caeb95e8ebb35f drwx------ 4 root root 4096 Nov 7 14:20 28242c9fd16bd610880d42a773e078221a0d34b1c779935fc0c8609a1b63666a drwx------ 4 root root 4096 Nov 7 14:22 2bc290c8e158229fdc5291a3ea53c5721f5becd39c8cb47cb2f826f6349ac778 drwx------ 4 root root 4096 Nov 7 14:20 2fc0e1b1031abe6b1871332b971ccdc40185b7441e94ba3c266f51d2d4728412 drwx------ 4 root root 4096 Nov 7 14:20 3124c345f129a3c542423c68061c6ded5b41a649b25991125c8e81da7b010e7e drwx------ 4 root root 4096 Nov 7 14:20 4a1e699a3711b92918f711d7ab021a5ac62bab1b8353ed321337c6f94ac50533 drwx------ 4 root root 4096 Nov 7 14:20 4cdc6456250a922e60f3394b26064be0541f04a0c34825c6487e73ed7979705a drwx------ 4 root root 4096 Nov 7 14:20 53d710c37c08b9c2ab0c84fea2059d067bbcbc38f22aa2e654e1c62758b1df44 drwx------ 4 root root 4096 Nov 7 14:41 6f5f3c1953044043672723cdf4f3725c500e77a54e07cd0a4759371c04c0cfa1 drwx------ 4 root root 4096 Nov 7 14:20 73cc941fd394d42b8cbdc8fd7a50fc098b5d56c0323e5b9a786703d21a102d33 drwx------ 4 root root 4096 Nov 7 14:35 8dc6124199b0ef6afbc9d2b542c5a46c8767e7daafd52bfedd53a83491e17db0 drwx------ 4 root root 4096 Nov 7 14:20 9c554d94d5eb6c2c6015994b52ae3f3c31d182dde189d86427840b4a1c5d6477 drwx------ 4 root root 4096 Nov 7 14:20 a073fcd724623a98168564707dccfb9562d94d89c0882ad2fd92798a2137be0d drwx------ 4 root root 4096 Nov 7 14:21 b1191679d1ecea73a74f44ee74b33281fbcccc942307630db02f2cb9e86869d0 drwx------ 4 root root 4096 Nov 7 14:20 eb30519b4804f9ca3c708260e885f99d693332af4a162a956952b601332fed97 [root@iZ2zedqr9yeos47fg4uor5Z containers]# cd 6f5f3c1953044043672723cdf4f3725c500e77a54e07cd0a4759371c04c0cfa1/ [root@iZ2zedqr9yeos47fg4uor5Z 6f5f3c1953044043672723cdf4f3725c500e77a54e07cd0a4759371c04c0cfa1]# ll total 488 -rw-r----- 1 root root 461990 Nov 7 14:41 6f5f3c1953044043672723cdf4f3725c500e77a54e07cd0a4759371c04c0cfa1-json.log drwx------ 2 root root 4096 Nov 2 22:29 checkpoints -rw------- 1 root root 4041 Nov 7 14:41 config.v2.json -rw-r--r-- 1 root root 1705 Nov 7 14:41 hostconfig.json -rw-r--r-- 1 root root 13 Nov 7 14:41 hostname -rw-r--r-- 1 root root 174 Nov 7 14:41 hosts drwx------ 2 root root 4096 Nov 2 22:29 mounts -rw-r--r-- 1 root root 149 Nov 7 14:41 resolv.conf -rw-r--r-- 1 root root 71 Nov 7 14:41 resolv.conf.hash [root@iZ2zedqr9yeos47fg4uor5Z 6f5f3c1953044043672723cdf4f3725c500e77a54e07cd0a4759371c04c0cfa1]#
我們將要修改的文件就是config.v2.json
和hostconfig.json
4.關(guān)閉容器、關(guān)閉docker
systemctl stop docker
5.修改config.v2.json
說明:想要將容器中的/opt/shardingsphere-proxy/logs
目錄映射到宿主機(jī)的/atguigu/server/proxy-a/logs
目錄下。
在config.v2.json
文件中找到MountPoints,添加如下/opt/shardingsphere-proxy/logs
的映射即可(這里如果前面還有內(nèi)容的話,注意逗號(hào))
{ ...... "MountPoints": { ......, "/opt/shardingsphere-proxy/logs": { "Source": "/atguigu/server/proxy-a/logs", "Destination": "/opt/shardingsphere-proxy/logs", "RW": true, "Name": "", "Driver": "", "Type": "bind", "Propagation": "rprivate", "Spec": { "Type": "bind", "Source": "/atguigu/server/proxy-a/logs", "Target": "/opt/shardingsphere-proxy/logs" }, "SkipMountpointCreation": false } }, ...... }
6.修改hostconfig.json
說明:Binds
中添加內(nèi)容"/atguigu/server/proxy-a/logs:/opt/shardingsphere-proxy/logs"
{ "Binds": [ ......, "/atguigu/server/proxy-a/logs:/opt/shardingsphere-proxy/logs" ], ...... }
7.重啟docker與容器
systemctl start docker
docker start 容器id
8.進(jìn)行目錄驗(yàn)證
目錄成功映射 出來,查看日志就不用每次很麻煩的進(jìn)入容器內(nèi)部查看了
[root@iZ2zedqr9yeos47fg4uor5Z logs]# pwd /atguigu/server/proxy-a/logs [root@iZ2zedqr9yeos47fg4uor5Z logs]# ll total 36 -rw-r--r-- 1 root root 36421 Nov 7 14:41 stdout.log -rw-r--r-- 1 root root 0 Nov 7 14:41 xa_tx1.log -rw-r--r-- 1 root root 0 Nov 7 14:41 xa_tx.lck [root@iZ2zedqr9yeos47fg4uor5Z logs]#
3. 注意
- config.v2.json和hostconfig.json文件修改之前,需要關(guān)閉docker與容器!如果先修改了這兩個(gè)文件,再關(guān)閉docker,這兩個(gè)文件中的內(nèi)容會(huì)被重置掉,導(dǎo)致新增的目錄映射失效 (自己在這里折騰了很久才發(fā)現(xiàn)的!)
- config.v2.json和hostconfig.json文件vi命令打開后,并非格式化后的json,這里可以通過:%!python3 -m json.tool命令將其進(jìn)行格式化,方便查看
總結(jié)
原文鏈接:https://blog.csdn.net/qq_39198749/article/details/127731024
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-12-01 SQL?Server修改數(shù)據(jù)的幾種語句詳解_MsSql
- 2022-06-12 Go依賴注入DI工具wire使用詳解(golang常用庫包)_Golang
- 2022-01-01 stopPropagation是什么意思以及什么是事件的原理
- 2022-06-20 C語言詳細(xì)講解qsort函數(shù)的使用_C 語言
- 2021-12-12 linux縮減XFS分區(qū)格式的根目錄_Linux
- 2022-06-08 SpringBoot jar包瘦身操作 -Dloader.path使用
- 2022-03-23 Android?app啟動(dòng)圖適配方法實(shí)例_Android
- 2023-05-15 shell?Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實(shí)現(xiàn)_linux shell
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支