国内下载不了镜像,可以用国外机器下载完成,打成tar文件,在国内机器上重新加载
可以在 已经拉取过镜像的机器上打包(导出)镜像文件,然后 拷贝到另一台机器上导入使用。这是离线部署 Docker 镜像的常用方法,非常适合网络受限的环境。
🛠️ 步骤如下:
✅ 1. 在已有镜像的机器上打包镜像
假设你拉取的是 docker.n8n.io/n8nio/n8n
:
docker save -o n8n.tar docker.n8n.io/n8nio/n8n
说明:
-o n8n.tar
表示导出为名为n8n.tar
的文件docker.n8n.io/n8nio/n8n
是你打算导出的镜像名
如果你想连 tag 一起打包,比如 n8nio/n8n:1.48.0
:
docker save -o n8n.tar n8nio/n8n:1.48.0
可以用
docker images
查看当前有哪些镜像。
✅ 2. 把 n8n.tar
文件拷贝到目标机器
你可以用如下方式拷贝:
- 使用
scp
:
scp n8n.tar root@目标机器IP:/root
- 或者用 U 盘、局域网共享、远程桌面工具传输都可以。
✅ 3. 在目标机器导入镜像
在目标机器上执行:
docker load -i n8n.tar
如果成功,会看到:
Loaded image: docker.n8n.io/n8nio/n8n:latest
✅ 4. 启动服务
确保 docker-compose.yml
使用的镜像名称和你导入的一致,然后启动:
docker compose up -d
✅ 额外技巧:查看镜像名和 tag
你可以这样确认镜像名和 tag:
docker images
输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.n8n.io/n8nio/n8n latest abcdef123456 2 days ago 500MB
这样你就知道 docker save
和 docker-compose.yml
应该怎么写了。
如果你愿意,我可以帮你生成一份完整打包、传输、加载、部署的自动化脚本 😎
需要吗?