返回列表 发布新帖
查看: 62|回复: 0

使用 Docker 进行跨服务器文件打包与传输的完整实战指南

发表于 2025-6-4 16:59:13 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在日常运维和开发中,我们常常需要将服务或网站从一台服务器迁移到另一台服务器。传统方法可能涉及打包代码、安装依赖、配置环境等复杂流程。而使用 Docker,我们可以将整个运行环境打包成一个镜像文件,在其他服务器上“一键还原”,大大提高效率与一致性。
本文将带你一步一步完成:
  • 创建网页内容
  • 使用 Docker 构建镜像
  • 导出镜像文件
  • 通过 scp 传输到另一台服务器
  • 在目标服务器上导入并运行容器
  • 成功访问服务页面
🖥️ 实验环境
  • A服务器(源服务器):构建镜像并导出文件
  • B服务器(目标服务器):接收镜像并运行服务
  • 操作系统:Ubuntu / CentOS / Debian 任意一款
  • 安装好 Docker(docker --version 确保可用)
第一步:在 A 服务器上准备项目文件
1.1 创建项目目录
  1. mkdir mynginx
复制代码
  1. cd mynginx
复制代码
1.2 创建一个简单的 HTML 页面
  1. echo "<h1>Hello from Docker!</h1>" > index.html
复制代码
你可以用 cat index.html 查看文件内容。
第二步:编写 Dockerfile
创建一个名为 Dockerfile 的文件:
  1. vi Dockerfile
复制代码
写入以下内容(注意必须是英文):
FROM nginx
COPY index.html /usr/share/nginx/html/index.html
保存并退出。
这段 Dockerfile 指定以官方 nginx 镜像为基础,把我们的 index.html 复制到它的默认网页目录中。
第三步:构建 Docker 镜像
在当前目录下执行:
  1. docker build -t mynginx:v1 .
复制代码
成功后可以看到 Successfully tagged mynginx:v1,并可用以下命令确认:
  1. docker images
复制代码
第四步:导出镜像文件
使用 docker save 将镜像打包成 .tar 文件:
  1. docker save -o mynginx.tar mynginx:v1
复制代码
此文件就是我们要传输的“服务快照”。
第五步:将镜像传输到 B 服务器
使用 scp 命令:
  1. scp mynginx.tar root@<B服务器IP>:/root/
复制代码
首次连接会提示 fingerprint 验证,输入 yes 并回车即可,然后输入密码。
第六步:在 B 服务器上导入镜像并运行
6.1 登录 B 服务器
  1. ssh root@<B服务器IP>
复制代码
6.2 导入镜像
  1. docker load -i mynginx.tar
复制代码
6.3 运行容器并映射端口
  1. docker run -d -p 8080:80 mynginx:v1
复制代码
这表示将容器的 80 端口映射到宿主机的 8080 端口。
第七步:放行端口(如有防火墙)
使用 iptables 放行:
  1. iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
复制代码
或者使用 ufw(Ubuntu):
  1. ufw allow 8080/tcp
复制代码
第八步:访问服务页面
在浏览器中访问:
  1. http://<B服务器IP>:8080
复制代码
你将看到:
Hello from Docker!
说明服务已经成功打包、传输、还原并运行 🎉
总结
步骤内容
1创建网页和 Dockerfile
2构建镜像
3导出为 .tar 文件
4使用 scp 传输到目标服务器
5导入镜像并运行
6成功访问服务页面
通过 Docker,我可以将一个完整的运行环境“快照”,迁移到任意服务器中,实现一次构建、多地部署,非常适合运维迁移、环境隔离、快速部署等场景。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.089602 second(s), 6 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表