欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker中容器運行時如何將目錄和宿主機進行掛載

 更新時間:2024年05月06日 11:38:58   作者:東坡的雪堂  
對于一個已經運行的容器,如果后續(xù)需要新掛載一個目錄怎么辦?下面這篇文章主要給大家介紹了關于docker中容器運行時如何將目錄和宿主機進行掛載的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

容器已運行,但還想掛載文件

容器已經運行起來了,突然想給容器的目錄進行掛載,通常是在運行容器時加上 -v 命令進行掛載。運行起來的容器想掛載文件夾可以通過修改容器在宿主機的配置文件進行解決。

在配置文件中加入新的掛載

1.查看容器存放目錄

[root@linuxchen ~]# docker info | grep 'Root'
 Docker Root Dir: /var/lib/docker

2.進入該目錄

[root@linuxchen ~]# cd /var/lib/docker
[root@linuxchen docker]# ls
buildkit  containers  engine-id  image  network  
overlay2  plugins  runtimes  swarm  tmp  volumes

3.文件夾containers就包含的是各個容器的配置文件的目錄

[root@linuxchen docker]# cd containers/
[root@linuxchen containers]# ls
01cd5154b4e4b36f3c70774cb22c9f61f6058b90383f423f7c8bb5b7d3e14d3b  9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2
0552b78c6b7eec42e1ef26767054bbcc273ce1ce45a669846bc180ef1047aa1c  9d23423647373b08215f3778ebca871baffd3375b6f5b7f23c226dab15a955c3
155d3b8a66bbdf5c7321cd90d9acbbc41d61f2bdce75dc0b86f42fc002bce87b  bb2567b9c2ddf9d9c7b5ad35c3a6fa20ca429e7e074c36db7c3ded50058e178c
3f1e1ca864b88e616e13359b2d919487b05103cc54a6d28280494d68fef0ba6c  bcd680044d1c8602f54f679a759306827b44cf62ded902596899a931f29790cc
6441463ea608447fc484937eceec7e55db1ac65c57c9c7e4e9ab6316d7504c0f  c957b6f352686df7aaa03ae14357dce9c496803e15f660ab204f3d1654c63221
6e2afdb382e6e78ebfae28cd35fca65004822906be8c6befe88d9b8b8417376a  d997473f71241688421081319df0dd6bbca888fc072e3713311c269fe07f6051
900e4b6fa19cff7fb2444fec93e2f041e226e48fdae86fe7095d232936cc5824  f67880be8e92c2262290244f7ed6b889cc3361a49adb0ce26c6f91f8aeab69f9
9301eedc7ea843d39da502e4c1a37e1c88b8401e21893a8b5001f6b9ebccf76c  fecaaaf35867f448b298f05a1f1da3a289533fb6be422edd49e7431f6828e09f
993633e3936dd583cd0bfb64716ac32b6b7a305b037411bb91d20ea5c38046b8  ffb4fa8fbeda9724d72c6d118090ed9b6d8564fa6fbc56bb93e47d6e7cededbf

4.查看你的容器id,容器id就是配置目錄的前綴名,cd進該容器的配置文件夾(粘貼上容器id,使用tab補全即可)

[root@linuxchen containers]# docker  ps
CONTAINER ID   IMAGE     COMMAND                  CREATED      STATUS          PORTS                               NAMES
9a26f7183290   nginx     "/docker-entrypoint.…"   2 days ago   Up 35 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
[root@linuxchen containers]# cd 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2/
[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# ll
total 404
-rw-r----- 1 root root 376531 Nov 19 16:02 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2-json.log
drwx------ 2 root root   4096 Nov 17 13:05 checkpoints
-rw------- 1 root root   3519 Nov 19 15:33 config.v2.json
-rw------- 1 root root   1585 Nov 19 15:33 hostconfig.json
-rw-r--r-- 1 root root     13 Nov 19 15:33 hostname
-rw-r--r-- 1 root root    174 Nov 19 15:33 hosts
drwx--x--- 2 root root   4096 Nov 17 13:05 mounts
-rw-r--r-- 1 root root    149 Nov 19 15:33 resolv.conf
-rw-r--r-- 1 root root     71 Nov 19 15:33 resolv.conf.hash

5.配置config.v2.json和hostconfig.json

掛載需求:1.將宿主機的文件夾 /root/music 和容器中的文件夾 /usr/share/nginx/html/music進行掛載
                  2.將宿主機的文件夾/root/images 和容器中的文件夾 /usr/share/nginx/html/images進行掛載 

5.0 ?。?! 修改配置文件前一定要關掉容器并且停掉docker服務,否則配置過的內容會被沖刷掉

                 在關閉docker時,假如跟我一樣出現了docker.socket并未關閉,一定要使用命令systemctl stop docker.socket 將其關閉再去關閉docker

[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# docker stop 9a26f7183290
9a26f7183290
[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# systemctl stop docker
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket
[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# systemctl stop docker.socket
[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# systemctl stop docker

注:要修改的兩個配置文件都是json文件,如果使用vi或者vim打開后的文件內容不是格式化的JSON格式,可在vim中使用命令:%!python3 -m json.tool 來格式化文件內容,以方便查看和修改。

5.1 配置config.v2.json

config.v2.json文件中找到MountPoints,配置如下,只需更改為你的目錄即可。要注意逗號的問題,符合json格式。

    "MountPoints": {
        "/usr/share/nginx/html/images": {
            "Source": "/root/images",
            "Destination": "/usr/share/nginx/html/images",
            "RW": true,
            "Name": "",
            "Driver": "",
            "Type": "bind",
            "Propagation": "rprivate",
            "Spec": {
                "Type": "bind",
                "Source": "/root/images",
                "Target": "/usr/share/nginx/html/images"
            },
            "SkipMountpointCreation": false
        },
        "/usr/share/nginx/html/music": {
            "Source": "/root/music",
            "Destination": "/usr/share/nginx/html/music",
            "RW": true,
            "Name": "",
            "Driver": "",
            "Type": "bind",
            "Propagation": "rprivate",
            "Spec": {
                "Type": "bind",
                "Source": "/root/music",
                "Target": "/usr/share/nginx/html/music"
            },
            "SkipMountpointCreation": false
        }
    },

5.2 配置hostconfig.json

 "Binds": [
        "/root/music:/usr/share/nginx/html/music",
        "/root/images:/usr/share/nginx/html/images"
    ],

6.重啟docker 重啟容器

[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# systemctl start docker
[root@linuxchen 9a26f71832905af40316ff2a17d709f22c658de0276677e6bd980f350e3d30a2]# docker start 9a26f7183290
9a26f7183290

7.查看文件掛載情況

    宿主機

[root@linuxchen music]# ls
jay2.mp3  jay.mp3  withoutyou.mp3  wozaideng-suxingjie.mp3  zood.mp3

    容器

root@9a26f7183290:/usr/share/nginx/html/music# ls
jay.mp3  jay2.mp3  withoutyou.mp3  wozaideng-suxingjie.mp3  zood.mp3

總結 

到此這篇關于docker中容器運行時如何將目錄和宿主機進行掛載的文章就介紹到這了,更多相關docker容器掛載目錄和宿主機內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用Docker run的選項以覆蓋Dockerfile中的設置詳解

    使用Docker run的選項以覆蓋Dockerfile中的設置詳解

    今天小編就為大家分享一篇關于使用Docker run的選項以覆蓋Dockerfile中的設置詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • docker?安裝?Influxdb-relay及配置教程

    docker?安裝?Influxdb-relay及配置教程

    這篇文章主要介紹了docker?安裝?Influxdb-relay及配置教程的相關資料,需要的朋友可以參考下
    2023-08-08
  • docker 搭建hadoop以及hbase集群詳解

    docker 搭建hadoop以及hbase集群詳解

    本篇文章主要介紹了docker 搭建hadoop以及hbase集群詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Docker中的數據存放位置

    Docker中的數據存放位置

    這篇文章主要介紹了Docker中的數據存放位置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker部署kafka遇到的問題及解決

    Docker部署kafka遇到的問題及解決

    在啟動容器后,狀態(tài)顯示為“Exited”,日志顯示連接ZooKeeper超時,原因是端口不通,通過配置安全組相關端口后重新啟動容器,查看日志顯示“started”,說明容器啟動成功
    2024-09-09
  • Docker開啟遠程安全訪問的圖文教程詳解

    Docker開啟遠程安全訪問的圖文教程詳解

    這篇文章主要介紹了Docker開啟遠程安全訪問的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 深入淺析Docker容器中的Patroni

    深入淺析Docker容器中的Patroni

    今天將向大家介紹,如何搭建容器下的Patroni集群環(huán)境,Patroni作為開箱即用PG高可用工具,越來越多的被各個廠商用于云環(huán)境下使用
    2021-11-11
  • docker默認路徑存儲不足解決過程

    docker默認路徑存儲不足解決過程

    這篇文章主要給大家介紹了關于docker默認路徑存儲不足的解決過程,Docker存儲空間不足的錯誤通常表明Docker Daemon分配的本地磁盤空間用盡,文中通過代碼將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Docker簡單入門使用教程

    Docker簡單入門使用教程

    這篇文章主要介紹了Docker簡單入門教程,幫助大家開始學習docker容器,感興趣的朋友可以了解下
    2020-08-08
  • docker-修改容器掛載目錄的3種方法小結

    docker-修改容器掛載目錄的3種方法小結

    這篇文章主要介紹了docker-修改容器掛載目錄的3種方法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論