
1用-v挂载主机数据卷到容器内
docker run -v /path/to/hostdir:/mnt $container
在容器内拷贝
cp /mnt/sourcefile /path/to/destfile
2直接在主机上拷贝到容器物理存储系统
A 获取容器名称或者id :
$ docker ps
B 获取整个容器的id
$ docker inspect -f '{{Id}}' 步骤A获取的名称或者id
C 在主机上拷贝文件:
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
或者
$ sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc<<id>>/rootfs/root
例子:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8e703d7e303 solidleon/ssh:latest /usr/sbin/sshd -D cranky_pare
$ docker inspect -f '{{Id}}' cranky_pare
or
$ docker inspect -f '{{Id}}' d8e703d7e303
d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
$ sudo cp filetxt /var/lib/docker/aufs/mnt/d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
3用输入输出符
docker run -i Ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/
或者
docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/
1、版本号控制方式,对比版本来判断是否更新,需要数据库或者记录文件配合
2、文件日期方式,对比文件属性里的修改日期来自动更新,单独完成
3、更新标志模式,需要数据库或者记录文件配合完成。
1和3其实差不多,可以人为控制是否需要更新客户端
2比较直观,只有修改日期发生变动就会更新,但缺点是无法人为控制
以上3种完成过程差别不大,都需要一个独立的程序,这个程序用来从FTP上下载文件并覆盖客户端以达到更新的目的
就这么个思路,至于实现过程和源码,太夸张了,得复制多少东西啊,其实这种程序网上有现成的。
webservice并不适合来传输文件啊,有什么很强的要求非用这个“? 理论上可以怎么做,你在客户端把你所有文件的版本传上服务器,服务器比对,然后确定谁需要更新,压缩,发送客户端,,客户端根据得到的提示,把数据流解压,写到本地磁盘上,
简单的办法就是打包的文件中只包含不更新的内容,例如用到的库什么的,自己写个简单的启动代码,做一些简单 *** 作,例如登录什么的,然后的然后就是转到你的服务器加载其他内容,有点像做嵌入浏览器控件,用nwjs还是可以使用本地资源的,你更新了服务器内容就实现更新。
以上就是关于怎么实现pb程序在客户端自动更新全部的内容,包括:怎么实现pb程序在客户端自动更新、powerbuilder 加oracle 10g,已经配置了FTP服务,怎样实现客户端的自动更新呢,求实现过程和源码!、关于客户端软件调用webservice来实现自动更新。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)