场景
服务器需要使用容器,但是服务器是离线状态,或者无法直接拉取docker镜像,这时候就需要本篇文章了
步骤
步骤 1: 将镜像导出为 tar 文件
首先,在在线服务器上将镜像导出为一个 .tar 文件。你可以使用 docker save 命令来将镜像导出:
docker save -o /path/to/your-image.tar your-image:tag
/path/to/your-image.tar
是你要保存镜像文件的路径。
your-image:tag
是你要导出的镜像名称和标签(例如:ubuntu:20.04)。
步骤 2: 将镜像文件传输到离线服务器
将导出的 .tar 文件从在线服务器传输到离线服务器。可以使用任何支持文件传输的工具,如 scp、rsync、USB 存储等。
如果你有 SSH 访问权限,可以使用 scp 命令:
scp /path/to/your-image.tar user@offline-server:/path/to/destination/
/path/to/your-image.tar
是本地文件路径。
user@offline-server:/path/to/destination/
是离线服务器的目标路径。
步骤 3: 在离线服务器上加载镜像
在离线服务器上使用 docker load 命令将镜像加载到 Docker 中:
docker load -i /path/to/your-image.tar
/path/to/your-image.tar
是传输过来的镜像文件路径。
加载成功后,你可以使用 docker images 命令查看是否成功导入镜像。
步骤 4: 启动容器
一旦镜像成功加载,你就可以使用 docker run 启动容器。
docker run -d --name my-container your-image:tag
-d
参数是让容器在后台运行。
--name my-container
是容器的名称。
your-image:tag
是加载的镜像名称和标签。
步骤 5: 验证容器是否启动
使用以下命令查看容器是否成功启动:
docker ps
如果容器正在运行,它会出现在列表中。
总结
1、使用 docker save 命令将镜像导出为 .tar 文件。
2、使用 scp 或其他方式将 .tar 文件传输到离线服务器。
3、在离线服务器上使用 docker load 命令加载镜像。
4、使用 docker run 命令启动容器。
5、这样你就可以成功将镜像从在线服务器迁移到离线服务器并启动容器。