解决:离线部署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

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

相关推荐
getapi19 分钟前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-194336 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑43 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
说实话起个名字真难啊1 小时前
用docker来安装openclaw
docker·ai·容器
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
恬静的小魔龙1 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_2 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
一方热衷.3 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
m0_694845573 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
*小海豚*3 小时前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器