解决:离线部署Docker容器(使用Docker现有容器生成镜像,将镜像打包成tar并发布到离线服务器中)

一、概述

本文主要讲解如何将现有的容器打包为镜像,然后该镜像打包为tar文件并在新环境中重新载入(在离线服务器中部署)。

二、现有容器生成镜像

docker提供了 commit 命令,可将容器打成镜像,其命令格式如下:

powershell 复制代码
 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
 
Option	功能
-a	指定新镜像作者
-c	使用 Dockerfile 指令来创建镜像
-m	提交生成镜像的说明信息
-p	在 commit 时,将容器暂停|

运行 docker images 查看现有的镜像:

运行 docker ps -a 查看当前容器:

执行命令 docker commit -a "allen追梦人" -m "mysql-8.0.23 for YPT集成平台" 377881b7fdaa mysql-8.0.23-yptplatform:v1.0 将 mysql 容器打包为镜像。

使用 docker images 命令可以查看到新生产的镜像:

三、将镜像打包成tar文件

如果需要将某一服务器上的镜像传输到另一服务器上时,可以将镜像打成tar包后传输。

1.将镜像打成tar包

docker提供 save 命令,可将镜像打成tar包。

docker save -o tar包名称.tar 待打包镜像名称:待打包镜像版本

示例如:

powershell 复制代码
docker save -o mysql-8.0.23-yptplatform.tar mysql-8.0.23-yptplatform:v1.0

当前目录下可以查看到刚才打包的tar文件:

四、将镜像文件载入到其他服务器中

Docker提供 load 命令用于通过 tar 文件载入镜像。

docker load [OPTIONS] tar包名称.tar

将上一步打包的:mysql-8.0.23-yptplatform.tar 文件拷贝到 其他服务器中,并执行以下命令:

powershell 复制代码
docker load -i mysql-8.0.23-yptplatform.tar

可以都看到镜像已成功载入

相关推荐
亿坊电商1 小时前
PHP后端项目中多环境配置管理:开发、测试、生产的优雅解决方案!
服务器·数据库·php
努力搬砖的咸鱼2 小时前
容器之间怎么通信?Docker 网络全解析
网络·docker·云原生·容器
我命由我123454 小时前
Derby - Derby 服务器(Derby 概述、Derby 服务器下载与启动、Derby 连接数据库与创建数据表、Derby 数据库操作)
java·运维·服务器·数据库·后端·java-ee·后端框架
liming4955 小时前
Ubuntu18.04部署k8s
云原生·容器·kubernetes
拥友LikT5 小时前
惠普DL380,Bios设置了U盘启动以后,读不到U盘(其他品牌服务器解决思路类似)
服务器·系统安装
我系真滴菜5 小时前
EMQX服务器调试
运维·服务器
含目的基因的质粒6 小时前
Python异常、模块、包
服务器·开发语言·python
元直数字电路验证6 小时前
ASP.NET Core Web APP(MVC)开发中无法全局配置 NuGet 包,该怎么解?
前端·javascript·ui·docker·asp.net·.net
YC运维7 小时前
Kubernetes资源管理全解析
java·容器·kubernetes
2501_938790077 小时前
从 0 到 1:解决 VsCode 远程连服务器后 Github Copilot 无法使用问题
服务器·vscode·github