精华内容
下载资源
问答
  • 从主机复制文件到Docker的几种方法

    千次阅读 2014-10-21 10:33:26
    今天我们来讲解一下从主机复制文件到Docker的几种方法. 在分享之前, 我们看看Docker社区对这个问题的需求是有多么强(ju)烈(jin). 下面开始今天高(tu)大(yuan)上(fei)的分享. 1. 通过Build Docker Image添加...

    今天我们来讲解一下从主机复制文件到Docker的几种方法.

    在分享之前, 我们看看Docker社区对这个问题的需求是有多么强(ju)烈(jin).

    下面开始今天高(tu)大(yuan)上(fei)的分享.

    1. 通过Build Docker Image添加文件

    Docker Image是通过Dockerfile来创建的. 具体的创建过程可以参考这里.

    我们可以在编写Dockerfile的时候, 将需要的文件通过 ADD 关键字添加文件到Docker Image里面.

    FROM 3scale/openresty
    
    ## add your supervisor openresty config
    ADD openresty.conf /etc/supervisor/conf.d/
    
    # Add your app
    ADD . /var/www
    
    CMD ["supervisor"]
    

    引用自 3scale/openresty

    这个Dockerfile中的ADD 关键字是将本机添加到Docker Image中的/var/www 文件夹中.

    2. 通过docker run命令的-v/--volume参数

    假设我们需要将本机的/data 目录分享到Docker的/mnt 目录下, 我们可以通过这样的命令:

    $ touch /data/bilibala
    $ docker run -v /data:/mnt -i -t ubuntu bash
    root@c039a83c35d0:/# ls /mnt
    bilibala
    

    这个命令可以在启动container中绑定文件夹.

    3. 通过API绑定目录

    其实这个方法本质上跟2是一样的, 但是唯一不同的就是, API将docker run 这个命令分成两步了, 分别是:create_container 和 start 在create_container 中, 通过volumes 参数定义需要挂载的目录. 在start 中, binds 参数绑定.

    下面是一个简单的example:

    #!/usr/bin/env python2.7
    import docker
    c = docker.Client()
    
    container = c.create_container('ubunt',
                                   command='bash', volumes=['/mnt'],
                                   tty=True, stdin_open=True)
    
    c.start(container['Id'], binds={'/data':'/mnt'})
    

    这里就创建了一个挂载了/data目录的container.

    4. 通过环境变量传递文件

    这个是我自己发明的小技巧, 因为在利用volumes 参数的时候, 发现docker有些不稳定. 经常无法删除. 所以就通过创建的时候通过环境变量传输文件.

    先将文件通过base64编码, 然后通过create_container 方法的 environment参数传递变量到container中, 在container中再解码放入到合适的路径下即可.

    5. 总结

    总的来说, 有三种不同的方式, 将host中的文件传递到container.

    分别是:

    1. 创建Image时, 添加文件到Image
    2. 创建Container时, 通过volumes参数传递文件
    3. 创建Container时, 通过environment参数传递文件
    展开全文
  • 一、使用FileZilla上传文件 1.启动虚拟机,打开Linux终端,输入ifconfig命令查看IP地址 IP地址为192.168.59.6 2.打开FileZilla,输入IP地址,用户名,密码,端口号,点击快速连接 连接成功后,左边为...

    #一、使用FileZilla上传文件
    ##1.启动虚拟机,打开Linux终端,输入ifconfig命令查看IP地址
    这里写图片描述

    IP地址为192.168.59.6
    ##2.打开FileZilla,输入IP地址,用户名,密码,端口号,点击快速连接这里写图片描述
    连接成功后,左边为本机资源目录,右边为虚拟机目录,左边选中文件,右键选择上传,即可上传成功
    #二、使用SecureCRT或Xshell上传文件
    SecureCRT和Xshell安装包
    链接:https://pan.baidu.com/s/1EVRka8cFpnqxmBlqoypxig 密码:bji1
    ##1.使用SercureCRT上传文件
    ###(1)连接虚拟机
    点击快速连接,输入输入IP地址,用户名

    展开全文
  • 1.虚拟机和主机之间在安装了VMWare Tool之后可以实现剪贴板的共享,即可以复制粘贴。但是中文目录和中文文件和带空格的路径会出现不能拷贝的情况。2.网络共享文件:虚拟机网络设置为NAT方式。使用Feiq等文件传输工具...

    首先要安装虚拟机工具VMWare Tool这样鼠标进出使用也方便。

    1.虚拟机和主机之间在安装了VMWare Tool之后可以实现剪贴板的共享,即可以复制粘贴。但是中文目录和中文文件和带空格的路径会出现不能拷贝的情况。

    2.网络共享文件:虚拟机网络设置为NAT方式。使用Feiq等文件传输工具进行传输。此方法只要主机和虚拟机之间网络互通即可。

    3.使用共享文件夹的方式。给虚拟机添加共享文件夹指向一个本机的文件夹。要拷贝文件借此文件夹。启用共享文件夹之后,为虚拟机添加网上邻居会发现一个//vmware-host/Shared Folders/VMShare(这里是你的共享文件夹名)的网上邻居路径,使用此路径即可访问到本机文件。

    4 使用FTP,TFTP等文件传输协议上传文件

    展开全文
  • 两台Linux系统之间传输文件几种方法

    万次阅读 多人点赞 2016-06-14 17:11:23
    scp传输当两台LINUX主机之间要互传文件时可使用SCP命令来实现scp传输速度较慢,但使用ssh通道保证了传输的安全性复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者计算机名称:远程路径 从远程将文件拷...

    scp传输


    当两台LINUX主机之间要互传文件时可使用SCP命令来实现

    scp传输速度较慢,但使用ssh通道保证了传输的安全性

    复制文件


    • 将本地文件拷贝到远程

    scp 文件名 –用户名@计算机IP或者计算机名称:远程路径

    • 从远程将文件拷回本地

    scp –用户名@计算机IP或者计算机名称:文件名 本地路径

    命令格式

    scp local_file remote_username@remote_ip:remote_folder 
    或者 
    scp local_file remote_username@remote_ip:remote_file 
    或者 
    scp local_file remote_ip:remote_folder 
    或者 
    scp local_file remote_ip:remote_file 

    第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
    第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

    复制目录


    • 将本地目录拷贝到远程

    scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径

    • 从远程将目录拷回本地

    scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径

    命令格式

    scp -r local_folder remote_username@remote_ip:remote_folder 
    或者 
    scp -r local_folder remote_ip:remote_folder 

    第1个指定了用户名,命令执行后需要再输入密码;
    第2个没有指定用户名,命令执行后需要输入用户名和密码;

    例子

    scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 
    scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 

    参数详解


    参数描述
    -a尽可能将档案状态、权限等资料都照原状予以复制
    -r若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地
    -f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制
    -v和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误
    -C使能压缩选项
    -P选择端口 . 注意 -p 已经被 rcp 使用
    -4强行使用 IPV4 地址
    -6强行使用 IPV6 地址

    举例说明


    1. 把计算机名为“v111.nn”下所有的东西都拷贝到本机/home/admin/目录下
    scp -r * v111.nn:/home/admin/ 
    1. 以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下
    scp -r  admin@192.168.219.125:/home/admin/test  /home/admin/

    scp示例

    参考


    配置scp在Linux或Unix之间传输文件无需密码

    Linux之cp/scp命令+scp命令详解

    [CentOS 不能使用scp命令 解决方法](http://www.linuxidc.com/Linux/2014-09/106569.htm_

    两台Linux主机之间scp复制文件

    rsync差异化传输(支持断点续传,数据同步)


    rsync -av /backup/ -e ssh root@192.168.1.110:/bak

    -a: archive归档模式,表示以递归方式传输文件,并保持所有文件属性,链接等,等于-rlptgoDrsync——remote sync。

    rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。

    如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。

    它的主要特点有:

    1. 可以镜像保存整个目录树和文件系统;

    2. 可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;

    3. 可以增量同步数据,文件传输效率高,因而同步时间短;

    4. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

    5. 支持匿名传输,以方便进行网站镜象等;

    6. 加密传输数据,保证了数据的安全性;

    Rsync实现文件备份同步详解

    Rsync同步两台服务器

    CentOS 6.5下Rsync远程同步

    Linux下用Rsync进行数据备份和同步配制

    Linux使用Rsync客户端与服务端同步目录进行备份

    管道传输(降低IO开销)


    gzip -c sda.img | ssh root@192.168.1.110 "gunzip -c - > /image/sda.img"

    对sda.img使用gzip压缩,-c参数表示输出到stdout,即通过管道传送

    gunzip -c - 中的”-“表示接收从管道传进的sdtin

    nc传输(一种网络的数据流重定向)


    nc所做的就是在两台电脑之间建立tcp或udp链接,并在两个端口之间传输数据流,是一种网络的数据流重定向

    使用dd结合nc命令网络克隆磁盘分区

    主机:

    dd if=/dev/vda | gzip -c | nc -l 50522

    待恢复机:

    nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda

    dd命令克隆/dev/vda磁盘,并使用gzip压缩,把数据流重定向到本机50522端口,待恢复机上使用nc连接主机50522端口,就能接收主机50522端口的比特数据流,然后使用gzip解压缩,并恢复到/dev/sda磁盘

    dd命令读取的是磁盘扇区,所以不论磁盘文件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使用bs,count参数控制要克隆的大小

    例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只复制磁盘vda的第一个扇区512K字节数据(引导程序和分区表)

    通常,可以用scp完成两台主机间的文件传输任务,但在主机间未建立信任关系的情况下,scp每次都需要输入密码,用起来感觉不是很方便,之前这篇笔记介绍过不用输入密码执行脚本或传输文件的方法,但对于一些临时性的任务,准备工作还是比较麻烦。

    what is nc ?


    nc是netcat的简写,关于nc是什么,man如是说:arbitrary TCP and UDP connections and listens

    nc可以方便地实现任意TCP/UDP端口的侦听,连接的建立,端口的扫描,等等。也即,nc既可以作为server以TCP或UDP方式侦听指定端口,也可以作为client发起TCP连接或方式UDP包。下面要介绍的技巧就是借助其TCP连接来实现主机间文件传输的。

    nc的控制参数不少,常用的几个参数如下所列:

    备注:nc要连接的目的端口可以是具体的整数,也可以直接通过服务名指定,这种情况下,nc会负责将name映射至某个well-known port(可用cat /etc/services查看这些端口跟服务名的映射关系)

    参数描述
    -l用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接
    -p port指定nc要使用的端口。若之前已指定-l,则这里的-p指定具体的侦听端口;若未指定-l,则表示向这个端口发起连接
    -s hostname/ip-address指定发送数据的源IP地址,适用于多网卡机器
    -u指定nc使用UDP协议,默认为TCP
    -v输出交互或出错信息,新手调试时尤为有用

    use nc to transmit data between hosts


    经过上面对nc的简介,估计不少同学已经知道怎么用nc来实现两台机器间的文件传输了。这里对实现流程做简单说明。

    在数据接收方的机器上侦听指定端口


    nc -l -p 8210 > demo.txt        # 在本机8210端口侦听TCP连接,将收到的数据写入文本文件
    nc -l -p 8210 > demo.tar.bz2    # 在本机8210端口侦听TCP连接,将收到的数据写成压缩文件

    在数据发送方机器上向指定地址(ip+port)以TCP方式发送数据


    nc dest_ip 8210 < demo.txt      # 向ip为dest_ip的机器的8210端口发送demo.txt文件
    nc dest_ip 8210 < $(tar -jcvf demo.tar.bz2 demo.txt) # 压缩后发送

    -v打印出错信息


    接收方:nc -v -l -p 8210  
    发送方:nc -v dest_ip 8210

    注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。

    建立文件服务器


    除了上面集中传输文件的方式之外,还可以通过简历文件服务器,然后通过网络挂载的方式传输,这种适用于经常性的拷贝,下面是一个挂载ftp服务器的例子
    挂载ftp服务器

    yum install curlftpfs
    mkdir /data/ftp
    curlftpfs username:password@ftp.yourdomain.com /data/ftp

    nfs实现文件共享


    mount nfs常见出错信息总结

    展开全文
  • matplotlib 图片复制到Word的几种方法

    千次阅读 2019-01-12 12:04:23
    matplotlib 图片复制到Word的几种方法 1.savefig()方法支持存储为eps格式的矢量图;还可以保存为svg格式,再用其它工具转换为emf;如果只需要一般的清晰度,也可以在保存png格式时设定dpi参数。 fig.savefig(‘test....
  • 快速删除大文件1. 通过重定向到 Null 来清空文件内容清空或者让一个文件成为空白的最简单方式,是像下面那样,通过 shell 重定向 null (不存在的事物)到该文件:# &...另一清空文件方法是将 : 或者 true 内...
  • 用Python来copy文件几种方法

    千次阅读 2019-08-19 21:59:47
    1. os.system 2. shutil.copy和shutil....不知道有没有其它的了,os.rename不算,那个是移动文件。另外我在测试它们的性能如何。学习过程中有什么不懂得可以加我的python学习交流扣扣qun,7847582...
  • 有时候,我们读取一个图片或文件的时候,我们不知道图片和文件...方法1:判断图片是否存在。 function isHasImg(pathImg){ var ImgObj=new Image(); ImgObj.src= pathImg; if(ImgObj.fileSize > 0 || (ImgObj.widt
  • 制作软盘镜像文件几种方法

    千次阅读 2018-04-17 15:18:02
    把刚才复制的十六进制值粘贴至新文件。保存为boot.img。   3. 用这个python脚本  # Make floppy Img  import sys  if len( sys.argv ) != 3:  print 'Usage: ', sys.argv[0], 'BinFileName ImgFileName'  sys....
  • Java复制文件的4方式

    万次阅读 多人点赞 2017-09-30 14:38:37
    java复制文件的4种方式 ... 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式。 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInpu
  • 结合各种情况,我总结了前端最常用的三种方法来接受后端传过来的文件流并下载,针对不同的情况可以使用不同的方法。 方法一 使用场景 针对后端的get请求 具体实现 <a href="后端文件下载接口地址" >下载文件&...
  • 网上的方法大致有这样几种: 1、使用操作系统提供的复制文件的API 2、使用C语言本身提供的复制文件的函数 3、直接读写文件,从文件角度来操作,从而直接将一个文件复制   这里我们使用的就是这第三种。   复制文件...
  • java复制文件的4方式

    万次阅读 多人点赞 2016-08-02 22:38:44
    java复制文件几种方式
  • PL/SQL Developer执行.sql文件几种方法

    千次阅读 2016-06-16 15:49:27
    PL/SQL Developer执行.sql文件几种方法 时间:2014年12月26日 浏览:8906次 前几天买了个阿里云服务器,并且在云端装上了oracle数据库,有关怎么在远程机器上安装oracle并且连接访问的方法可以参见博文《用PL...
  • Linux间传输文件几种方法scp、sftp

    万次阅读 2016-10-17 17:56:40
    sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。 # yum install ftp 安装ftp支持 RedHat系列版本下命令 1.常用登陆方式:   格式:sftp @  通过sftp连接,...
  • 把两图片选中后,拖到“要复制文件和文件夹”里那一栏,工具会显示出这两个图片的路径在上面, 当然,也可以点右边那一排里面“添加文件”的按钮把我们两个可爱的图片添加进去。 接下来就是目标位置,我就把左边...
  • (1)通过cp复制/dev/null内容到指定文件 cp /dev/null filename.out (2)通过cat命令显示/dev/null内容,重定向到指定 文件 cat /dev/null > filename.out (3)通过dd命令清空文件(if代表输入文件,of...
  • 解析xml文件几种方法和原理

    千次阅读 2011-11-17 09:38:19
    第一种方法  对象模型 API 定义了层次化对象模型来表示 XML 文档。换句话说,对应 XML 语法中的每个概念定义相应的类:元素、属性、实体、文档。解析器读入 XML 文档的时候,建立 XML 语法和类之间的一对一映射...
  • 使用okfone PDF解密大师就可以了,提供四解密方法进行破解,使用方法如下: 打开okfone PDF解密大师 PDF解密大师下载地址 ,点击【找回密码】 将PDF文件添加进去,选择找回方法,点击【开始】就可以破解密码 ...
  • 实现该菜单功能主要有两种方法: 第一种:通过发送击键到应用程序来实现。 先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能: richTextBox1.Focus(); SendKeys.Send("^a");//全选 Send...
  •  SHFileOperation不知道有没有其它的了,os.rename不算,那个是移动文件。另外我在测试它们的性能如何。欢迎大家关注公众号:Python从程序猿到程序员或者加15472.51666,有不懂得,或者想要源代码的可以问我1. os....
  •  Vmware正确安装完linux虚拟机之后,这里以Ubuntu为例(其他linux或windows系统也是类似的),... 下面把可能的几种情况做一个总结,包括手工安装vmware tools的两种方法。 一、Vmware tools灰色不能安装 打开vm...
  • MYSQL主从复制几种方式

    千次阅读 2018-03-03 08:03:52
    MySQL 主从复制主要有以下几种方式:  基于 SQL 语句的复制(statement-based replication, SBR); 基于行的复制(row-based replication, RBR);混合模式复制(mixed-based replication, MBR); 基于 SQL 语句...
  • 文章目录scp命令xshell客户端共享文件夹USB挂载 使用的virtualBox版本:5.2.12 ubuntu版本:ubuntu-16.04.6-server-amd64 ...主要介绍4种方法:scp命令,xshell客户端,共享文件夹,USB挂载。 scp命令...
  • void write(int b):将指定的字节写入此输出流。 void write(byte[] b):将 b.length 个字节从指定的 byte 数组写入此输出流。 void write(byte[] b,int off, int len):将指定 byte 数组中从偏移量 off 开始的 len ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 540,780
精华内容 216,312
关键字:

复制文件的几种方法