1、配置密钥对,当租用服务器之后,需要配置密钥对才能进行远程连接,然后需要将私钥保存到本地电脑。
2、远程连接:通过ssh远程连接时需要用到 xxx.pem文件。
(1)使用MobaXterm远程连接需要在Advaced ssh Setting中添加密钥。 (2)使用windows11的终端上传文件,需要用到scp -i 'absolute path/xxx.pem' root@47.113.202.xxx:/root/
遇到的问题:
1、当拉取私人仓库中的镜像时,发现超时
尝试的解决方案:
1、考虑镜像源问题,采用镜像加速镜像源(阿里云)也不行,仍然超时
2、尝试使用本地电脑的工具进行反向ssh端口转发,将远端服务器上的端口转发到本地机器的地址和端口。在本地终端执行:ssh -i "C:\Users\Xiaoming\Desktop\你的密钥文件名.pem" -R 7890:127.0.0.1:7897 root@47.113.202.xxx。即在本地电脑运行了工具(默认监听 7897 端口),远程服务器因网络限制无法直接访问docker hub,通过该命令,远程服务器上的所有网络请求,可通过转发通道走本地电脑的 7897 端口访问docker hub。
-R(反向):远程端口 → 本地端口(远程用本地服务)
-L(正向):本地端口 → 远程端口(本地用远程服务,如本地访问远程数据库)
应用场景:远程服务器(如 47.113.202.238)上运行着 MySQL 数据库,为了安全,MySQL 仅绑定远程服务器的 127.0.0.1:3306(仅远程本机可访问,外部网络无法直接连接内网服务),现在需要在本地电脑用 Navicat/DBeaver 等工具访问这个远程 MySQL。
3、通过本地或者虚拟机拉取镜像docker pull xxx, 拉取完成之后需要将文件打包.tar文件。
bash
sudo docker save -o ioa_all_images.tar \
ioa-server:latest \
ioa-client:latest \
ioa-server-frontend:latest \
autogpt:latest \
open-interpreter:latest
4、使用scp协议传输文件:
bash
# 在 Windows 执行,192.168.x.x 是你虚拟机的 IP,将虚拟机中的文件传输到windows系统中(无法将虚拟机中的文件拖拽到windows上)
scp xiaoming@192.168.x.x:~/Desktop/ioa_all_images.tar C:\Users\Xiaoming\Desktop\
# 将windows系统中的文件传输到阿里云服务器上
scp -i "xxx.pem" C:\Users\Xiaoming\Desktop\ioa_all_images.tar root@47.113.202.238:/root/
scp: Secure Copy(安全拷贝) 的缩写,是基于 SSH 协议的文件传输工具,核心特点是加密传输文件 / 目录 ,替代明文传输的 cp/ftp,既保证传输安全,又无需额外配置服务,只要两端能通过 SSH 连接(虚拟机开启 SSH 服务、Windows 能访问虚拟机 IP)即可使用,是跨系统 / 跨服务器文件传输的标准工具。
5、解包.tar文件释放回 Docker 镜像库中。
bash
# 1. 执行加载命令(这可能需要 1-2 分钟,取决于服务器磁盘速度)
docker load -i ioa_all_images.tar
# 2. 验证镜像是否全部就位
docker images