打包容器为镜像:

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文件

注意:

  1. 执行scp命令之后,会要求输入user的登录密码,(如果两台机器之前已部署ssh身份验证,则不需要);
  2. 如果是从服务器获取文件,则目标路径直接填写本地存放路径即可。
  3. 如果是上传文件到服务器,则原路径填写本地文件路径即可。

从远程服务器复制文件到本机目录

$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/目录下。