docker 打包镜像并传输
打包容器为镜像:
docker commit 65cbaa57fe08 alg_324
镜像迁移到其他服务器:
docker image ls # 找到对应docker
docker save XXX:latest > XXX.tar # 保存docker镜像为tar文件
scp /etc/share/test.js root@123.123.123.123:/opt/soft/test.js # scp传输,将本机镜像传输到其他服务器
docker load < XXX.tar # 解压镜像
服务器之间传输文件-scp命令
在工作中遇到一个需求,需要在两台服务器之间传输文件,用到了scp命令,用着还挺方便。
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。
使用方式:
scp [参数] [原路径] [目标路径]
常用可选参数:
- -B 使用批处理模式(传输过程中不询问传输口令或短语)
- -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
- -p 保留原文件的修改时间,访问时间和访问权限。
- -r 递归复制整个目录。
- -P port 注意是大写的P, port是指定数据传输用到的端口号
路径规则:
user@IP:dirname
user:登录用户名
IP:登录服务器地址
dirname:文件路径
例如: root@123.123.123.123:/etc/share/test.js 表示123.123.123.123服务器上,root用户/etc/share/下的test.js文件
注意:
- 执行scp命令之后,会要求输入user的登录密码,(如果两台机器之前已部署ssh身份验证,则不需要);
- 如果是从服务器获取文件,则目标路径直接填写本地存放路径即可。
- 如果是上传文件到服务器,则原路径填写本地文件路径即可。
从远程服务器复制文件到本机目录
$scp root@123.123.123.123:/opt/soft/test.js /etc/share/
表示:复制123.123.123.123机器上/opt/soft/目录下test.js文件到本机/etc/share/下。
传输本机文件到远程机器指定目录
$scp /etc/share/test.js root@123.123.123.123:/opt/soft/test.js
表示:复制本机器/etc/share/目录下test.js文件到远程123.123.123.123机器上的/opt/soft/目录下。