文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux +Docker镜像打包导出,上传至内网服务器

2023-09-14 16:03

关注

1. docker容器打包成镜像和压缩

(1)首先查看镜像所在的容器,获取到容器id

docker ps -a

在这里插入图片描述

 

(2)将容器保存成镜像

sudo docker commit -a 'yjw' e007d8b7e1b7 my_projectv2:v2
sudo:以管理员权限运行命令,通常用于在 Linux 系统中运行需要管理员权限的命令。
docker:Docker 命令行工具。
commit:提交 Docker 镜像的命令。
-a:指定镜像的作者,这里是作者的名字: yjw。
e007d8b7e1b7:docker的容器id。
my_projectv2:v2:要新创建的镜像的名称和版本号,这里是新建一个名为 my_projectv2:v2的镜像,版本号为 v2。
因此,这条命令将创建一个新的 Docker 镜像,名为 my_projectv2:v2,并将它提交到 Docker 仓库中。

在这里插入图片描述 

 

(3)将镜像打包

docker save -o my_projectv2.tar my_projectv2

在这里插入图片描述

docker:Docker 命令行工具。

 save:将 Docker 镜像保存为文件的命令。
~
-o : 参数表示指定输出文件的路径和名称,这个路径是相对于当前工作目录的路径。如果当前工作目录是 /etc/docker,那么 my_projectv2.tar 文件会被保存到 /etc/docker/my_projectv2.tar , 如上图所示。
~
my_projectv2:v2 :要保存的 Docker 镜像的名称和版本号,这里是一个名为 my_projectv2的镜像,版本号为 v2。
(注意:我没加版本号也执行了,是因为我镜像名称是唯一的,不存在相同的版本号,因此命令没有加:v2不会出错)
因此,这条命令将把名为 my_projectv2、版本号为 v2 的 Docker 镜像保存为一个名为 my_projectv2.tar 的文件。

(4)将镜像包压缩

 sudo tar -zcvf my_projectv2.tar.gz my_projectv2.tar

在这里插入图片描述
在这里插入图片描述

还有一种容器的打包和压缩一步到位的方法:

docker save my_projectv2:v2 | gzip > my_projectv2.tar.gz

2. docker镜像压缩包解压及镜像载入 (移动到自己想要运行的服务器)

(1)压缩包解压

通过finalshell或者其它方式,把前面步骤压缩的镜像压缩包给上传到内网服务器指令目录
(注意:我这里只是模仿步骤。有什么出入请指正)

tar -zxvf mask_detection_v5.tar.gz

得到.tar格式的镜像包

在这里插入图片描述

2)镜像载入

sudo docker load -i my_projectv2.tar

在这里插入图片描述

载入后利用 (比如想要修改加载的镜像,可以参阅后面的一、二、…五等步骤

sudo docker images

查看已存在的镜像。

 

3)启动镜像-运行项目

docker run -d -it -p 8888:8888 --restart always --name my_dockerv2 my_projectv2:v2或者 (-p 8888:8888 端口号的前后书写顺序没有关系,但是建议使用第一个 )docker run -d -it --restart always --name my_dockerv2 -p 8888:8888 my_projectv2:v2 

 

(4)启动镜像-项目成功

在这里插入图片描述

(5)docker停止容器(停止项目)

 

① 先查看所有正在运行中的容器

docker ps

在这里插入图片描述

② docker stop 容器id 停止容器

 

docker stop 2baed9f6f723

在这里插入图片描述

PS:某些情况下需要强制关闭,可以使用 docker kill 容器ID

(6)再次启动容器

docker start my_dockerv2

注意:执行启动命令后,后台运行项目环境需要花时间,因此使用IP地址访问时需要花时间等待才能够访问成功

在这里插入图片描述

PS:因为docker run 属于创建新容器并运行,我只是启动已有的容器,故不使用docker run xxx。
而 docker start 命令用于启动一个已经存在的容器

 

 

来源地址:https://blog.csdn.net/zy_zhengyang/article/details/131479336

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯