• Docker


    一、不指定宿主机目录

    首先运行一个nginx容器
    docker run -d --name mynginx -p 8080:80 -v /usr/share/nginx/html nginx
    --name 指定容器名字
    -v 表示把docker里面的目录/usr/share/nginx/html映射出来

    通过inspect命令查看宿主机对应的目录
    docker inspect mynginx
    省略部分输出
    "Mounts": [
         {
             "Type": "volume",
             "Name": "fd6a85bb7a90ad465de3c5720d65576bff273b15b112cd3e62bb0d9d3f4a0c7a",
             "Source": "/var/lib/docker/volumes/fd6a85bb7a90ad465de3c5720d65576bff273b15b112cd3e62bb0d9d3f4a0c7a/_data",
             "Destination": "/usr/share/nginx/html",
             "Driver": "local",
             "Mode": "",
             "RW": true,
             "Propagation": ""
         }
    ]
    可以看到docker里面的目录/usr/share/nginx/html对应到宿主机的目录为/var/lib/docker/volumes/354d406d5ec7f55bf445d70ac5f0534e1d185207a3f0b37e381af531a1d9ce37/_data

    修改宿主机的文件
    cd /var/lib/docker/volumes/354d406d5ec7f55bf445d70ac5f0534e1d185207a3f0b37e381af531a1d9ce37/_data
    ls
    50x.html  index.html
    vi index.html
    <html>
    <p1>hello, I am nginx.</p1>
    </html>

    进入到docker目录
    docker exec -it mynginx /bin/bash
    cd /usr/share/nginx/html/
    cat index.html
    <html>
    <p1>hello, I am nginx.</p1>
    </html>
    可以看到docker里面同步也进行了更改,打开网页http://10.40.16.61:8080/

    1


    二、指定宿主机目录

    cd /tmp
    mdkir html
    vi html/index.html
    <html>
    <p1>hello, I change index file.</p1>
    </html>

    docker run -d --name mynginx1 -p 8081:80 -v $PWD/html:/usr/share/nginx/html nginx
    $PWD表示当前路径

    通过inspect命令查看宿主机对应的目录
    docker inspect mynginx1
    省略部分输出
    "Mounts": [
         {
             "Type": "bind",
             "Source": "/tmp/html",
             "Destination": "/usr/share/nginx/html",
             "Mode": "",
             "RW": true,
             "Propagation": "rprivate"
         }
    ]

    打开网页http://10.40.16.61:8081/

    2


    三、卷组给多个容器共享

    mkdir myvolumes
    cd myvolumes
    mkdir data
    docker create -v $PWD/data:/var/mydata --name data_container centos
    # docker create只创建容器但不运行

    docker run -it --volumes-from data_container centos /bin/bash
    # -it以交互方式运行
    mount | grep data
    /dev/sda2 on /var/mydata type xfs (rw,relatime,attr2,inode64,noquota)
    可以看到容器data_container的/var/mydata目录同样也在新的容器的下
    cd /var/mydata
    touch nothing
    exit

    ls /data
    nothing
    可以看到宿主机下面也有nothing这个文件,可以实现卷组给多个容器共享

  • 相关阅读:
    逆序对的相关问题:bzoj1831,bzoj2431
    bzoj3211,bzoj3038
    hdu 1179最大匹配
    hdu 3038带权并查集
    poj 1733离散化(map)+并查集
    codeforces 369B
    poj 1456
    POJ 1988相对偏移
    poj 1986tarjan模板题
    poj 1330lca模板题离线算法
  • 原文地址:https://www.cnblogs.com/ddzj01/p/10986216.html
Copyright © 2020-2023  润新知