• 给正在运行的Docker容器动态绑定卷组


    github的地址:https://github.com/pushiqiang/utils/tree/master/docker

    git clone  https://github.com/pushiqiang/utils
    [root@iZ1la3d1xbmukrZ ~]# ll
    total 4
    drwxr-xr-x 13 root root 4096 Mar  3 18:03 utils
    [root@iZ1la3d1xbmukrZ ~]# cd utils/
    [root@iZ1la3d1xbmukrZ utils]# ll
    total 44
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 asyncio
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 cassandra
    drwxr-xr-x 3 root root 4096 Mar  3 18:03 django_celery
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 docker
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 es_ik
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 logger
    drwxr-xr-x 3 root root 4096 Mar  3 18:03 nginx_thumbnail
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 pagination
    -rw-r--r-- 1 root root 3084 Mar  3 18:03 README.md
    drwxr-xr-x 4 root root 4096 Mar  3 18:03 rest_framework_swagger
    drwxr-xr-x 2 root root 4096 Mar  3 18:03 zerorpc

     然后要给脚本赋予权限

    chmod +x dynamic_mount_docker_volume
     docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter

     注:如果不能下载,参考:https://github.com/jpetazzo/nsenter ,nsenter是一个允许根据容器名称进入容器的小工具。

    [root@iZ1la3d1xbmukrZ docker]# ./dynamic_mount_docker_volume 955138b6c3ed /tmp/test /src
    physics /tmp/test is not exist!
    [root@iZ1la3d1xbmukrZ docker]# mkdir -p /tmp/test
    [root@iZ1la3d1xbmukrZ docker]# ./dynamic_mount_docker_volume 955138b6c3ed /tmp/test /src
    Error: No such object: 955138b6c3ed
    [root@iZ1la3d1xbmukrZ docker]# docker ps -a
    CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                        PORTS                                              NAMES
    27e9dd648ef2        sonatype/nexus3                       "sh -c ${SONATYPE_DI…"   3 hours ago         Exited (137) 53 minutes ago                                                      nexus82
    d0fe6f850e15        sonatype/nexus:oss                    "/bin/sh -c 'java   …"   4 hours ago         Up 4 hours                    0.0.0.0:8082->8081/tcp                             nexus-oss
    2e9ae246f58f        sonatype/nexus:pro-2.14.16            "/bin/sh -c 'java   …"   4 hours ago         Exited (1) 4 hours ago                                                           nexus
    7e83dc0d600a        wojiushixiaobai/jms_guacamole:1.5.6   "./entrypoint.sh"        8 days ago          Up 5 days                     127.0.0.1:8081->8080/tcp                           jms_guacamole
    92d1dd497f2c        wojiushixiaobai/jms_koko:1.5.6        "./entrypoint.sh"        8 days ago          Up 5 days                     0.0.0.0:2222->2222/tcp, 127.0.0.1:5000->5000/tcp   jms_koko
    [root@iZ1la3d1xbmukrZ docker]# ./dynamic_mount_docker_volume d0fe6f850e15 /tmp/test /src
    dymainc mount physics /tmp/test on d0fe6f850e15 /src is success!

    进入到容器中去查看

    [root@iZ1la3d1xbmukrZ docker]# docker exec -it d0fe6f850e15 /bin/bash
    [nexus@d0fe6f850e15 nexus]$ cd src
    bash: cd: src: No such file or directory
    [nexus@d0fe6f850e15 nexus]$ cd /src
    [nexus@d0fe6f850e15 src]$ ls -l
    total 0

    进行测试,在宿主机中创建文件

    [root@iZ1la3d1xbmukrZ ~]# cd /tmp/test
    [root@iZ1la3d1xbmukrZ test]# ll
    total 0
    [root@iZ1la3d1xbmukrZ test]# touch 111.txt
    [root@iZ1la3d1xbmukrZ test]#

    在容器中查看

    [nexus@d0fe6f850e15 src]$ ls -l
    total 0
    -rw-r--r-- 1 root root 0 Mar  3 12:11 111.txt
    [nexus@d0fe6f850e15 src]$
  • 相关阅读:
    [考试]20150811
    [考试]20150810
    [随笔]暑假过了,暑假来了
    [考试]20150808
    动态规划大合集II
    [知识点][旧版]C++中的运算符
    NOIP动态规划大合集
    [考试]20150729
    [考试]20150728
    /=============分隔线=============/
  • 原文地址:https://www.cnblogs.com/dalianpai/p/12404367.html
Copyright © 2020-2023  润新知