先用 docker commit 将容器保存为镜像,再用 docker save 导出为 .tar 文件;前者固化容器当前状态(含文件系统、环境变量等),后者生成可移植、离线使用的归档文件。
直接用 docker commit 保存正在运行或已停止的容器为镜像,再用 docker save 打包成 tar 文件即可。
从容器创建新镜像
使用 docker commit 命令将当前容器的状态(包括文件系统变更、环境变量、启动命令等)固化为一个新镜像:
- 基本语法:
docker commit [选项] [:] - 例如:
docker commit -m "添加配置文件" -a "admin" my-nginx nginx-custom:v1 -
-m添加提交信息,-a指定作者,便于追踪修改来源 - 如果省略仓库名和标签,会生成一个仅含 ID 的悬空镜像,不推荐
验证并查看新镜像
执行 docker images 确认镜像已成功创建,注意检查镜像 ID、仓库名、标签和创建时间是否符合预期。若发现镜像大小异常(比如远大于基础镜像),可能是容器中残留了日志、缓存或临时文件,建议先清理再提交。
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
将镜像导出为 tar 包
用 docker save 把镜像保存为可移植的 tar 归档文件,适用于离线迁移或备份:
- 导出单个镜像:
docker save nginx-custom:v1 -o nginx-custom-v1.tar - 导出多个镜像(用空格分隔):
docker save img1:v1 img2:v2 -o multi-images.tar - 支持 gzip 压缩:
docker save nginx-custom:v1 | gzip > nginx-custom-v1.tar.gz - 导出后可用
file nginx-custom-v1.tar或tar -tf nginx-custom-v1.tar | head查看内容结构
在其他机器上加载镜像
把 tar 文件复制到目标主机后,用 docker load 恢复镜像:
- 加载 tar 文件:
docker load -i nginx-custom-v1.tar - 加载压缩包:
gunzip -c nginx-custom-v1.tar.gz | docker load - 加载成功后,
docker images可看到镜像,即可用docker run启动










