IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Docker实践7:容器与主机拷贝数据

    lincyang发表于 2015-03-10 16:22:37
    love 0

    在Docker实践2中使用-v参数将主机与容器中相关目录联系在一起(挂载),所以我们可以用这个通道将想要互相拷贝的数据放入其中,这样就可以用cp命令来复制文件了。

    除了这个办法,我们还可以分别用不同的命令来拷贝数据。

    从容器中像主机拷贝数据

    docker提供了cp命令,用法如下:

    # docker ps
    CONTAINER ID        IMAGE                     COMMAND                CREATED             STATUS              PORTS                         NAMES        
    a77a72ac178c        tutum/apache-php:latest   "/run.sh"              21 hours ago        Up 21 hours         0.0.0.0:8080->80/tcp          phpapache_phpapache_1
    # docker-enter a77a72ac178c
    root@a77a72ac178c:~# ls /var/www/html
    index.php  logo.png
    root@a77a72ac178c:~# exit
    logout
    
    # docker cp a77a72ac178c:/var/www/html /var/www/
    # ls /var/www/
    app  download  index.html
    # ls /var/www/app/
    index.php  logo.png
    

    从主机向容器中拷贝数据

    这里要使用一个docker提供的神奇通道来完成主机向容器的数据传输。
    首先要用docker inspect方法获得容器的完整id,

     inspect   Return low-level information on a container

    然后用/var/lib/docker/aufs/mnt/通道来完成拷贝。
    举例如下:

    # docker inspect -f '{{.Id}}' a77a72ac178c
    a77a72ac178c1e35708d2af446197c10239b0b1bd8932104578e334b83eb93a2
    # cp docker/docker-start.sh /var/lib/docker/aufs/mnt/a77a72ac178c1e35708d2af446197c10239b0b1bd8932104578e334b83eb93a2/root/
    # docker-enter a77a72ac178c
    # pwd
    /root
    # ls
    docker-start.sh
    


沪ICP备19023445号-2号
友情链接