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

news2024/12/28 5:32:21

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 命令用于启动一个已经存在的容器

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/704783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity快速上手系列1之:2D物理弹球

大家好。 以“跳一跳”为开端,微信小游戏从前几年起以迅雷不及掩耳盗铃儿响叮当之势席卷了用户的手机。从创意小游戏,到页游遗风的挂机游戏,一时间百花齐放。 当然,前者说是创意,其实绝大部分也就是直接把其他平台上的…

5.8.2 TCP报文段首部格式

5.8.2 TCP报文段首部格式 TCP报文段首部格式在很大程度上体现了TCP协议的功能 一、数据封装过程 如图 应用层报文传送到传输层之后,加上TCP报文段的首部构成了TCP数据传送单位,我们称之为TCP报文段。在发送时TCP报文段是作为IP数据报的数据部分&#…

linux虚拟内存管理

目录 虚拟内存分布 进程虚拟内存空间的管理 内核如何划分用户态和内核态虚拟内存空间 内核如何管理虚拟内存区域 定义虚拟内存区域的访问权限和行为规范 关联内存映射中的映射关系 虚拟内存区域在内核中是如何被组织的 程序编译后的二进制文件如何映射到虚拟内存空间中 …

探索图像处理的利器——OpenCV

目录 引言: 一、OpenCV简介: 二、OpenCV的特点: 三、OpenCV的应用领域: 四、实际案例: 结论: 引言: 在当今信息化的时代,图像处理已经成为了日常生活中不可或缺的一部分。从社…

4742. 电(acw每日一题)

来源:Google Kickstart2022 Round H Problem C 题目描述 某城市有 N个电力节点,编号 1∼N。 这些电力节点形成的电力网络,可以看作一个 N 个节点 N−1 条边的连通图。 每个电力节点都有一个固定的电容,其中第 i 个节点的电容为…

CSS 备忘录-基础内容

目录 1、CSS的基本结构 2、样式表的来源以及优先级 3、选择器的优先级 4、源码顺序 5、px、em、rem单位 6、视口相对单位 7、使用 calc() 来定义属性值 8、一些无单位的属性 9、自定义属性 10、使用 JavaScript 来动态修改自定义属性 11、overflow 属性 12、子元素…

【单片机】STM32单片机的各个定时器的定时中断程序,标准库,STM32F103

文章目录 定时器1_定时中断定时器2_定时中断定时器3_定时中断定时器4_定时中断定时器5_定时中断 高级定时器和普通定时器的区别(https://zhuanlan.zhihu.com/p/557896041): 定时器1_定时中断 TIM1是高级定时器,使用的时钟总线是R…

bochs编译安装

编译命令 ./configure --prefix‘/usr/local/bochs2.7’ --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11 make sudo make install 配置文件 bochsrc # configuration file generated by Bochs plugin_ctrl: unmapped1, biosde…

让开源项目从易用到好用 | 亚马逊的开源文化

亚马逊的领导力准则是亚马逊文化的核心,它如同亚马逊的 DNA 融入贯穿每一个重要决策,深深影响着每一位亚麻人、影响着每一位亚马逊的客户、合作伙伴以及每一位亚马逊云科技的构建者。同时,亚马逊的领导力准则对亚马逊与开源的互动方式也产生着…

如何设计一个文件系统?需要考虑哪些因素?

文件系统的实现 在对文件有了基本认识之后,现在是时候把目光转移到文件系统的实现上了。之前用户关心的一直都是文件是怎样命名的、可以进行哪些操作、目录树是什么,如何找到正确的文件路径等问题。而设计人员关心的是文件和目录是怎样存储的、磁盘空间…

数字孪生和GIS融合会为城市交通带来哪些便利?

数字孪生和GIS的融合对于城市交通领域带来了诸多便利,从智能交通管理到出行体验的提升,为城市交通带来了全新的发展机遇。 首先,数字孪生技术与GIS的结合可以实现智能交通管理。通过GIS建立城市交通网络的数字孪生模型,可以实时模…

程序员找工作难!拿到外包公司的 offer 我应该去么?

引言 前一阵子有一个帖子引起了非常广泛的讨论,描述的就是一个公司的外包工作人员,加班的时候因为吃了公司给员工准备的零食,被公司的HR当场批评!这个帖子一发出来,让现在测试行业日益新增的外包公司备受关注。那么外包公司和非外…

Qt开发1--QCustomPlot的第一个示例

本文记录了在Linux上使用QCustomPlot进行一个基本绘制所需的完整过程,包括如何使用qtcreator,编辑ui以及编写相应的C代码。以下是详细步骤: 1、使用qtcreator启动开发环境: [blctrlmain-machine qt]$ qtcreator 启动后&#xf…

GBDT精讲

GBDT算法的流程 首先GBDT是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或回归的算法。 GBDT通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的梯度(如果损失函数是平方损失函数…

Quiz 4: Functions | Python for Everybody 配套练习_解题记录

文章目录 课程简介Quiz 4: Functions 单选题(1-9)编程题Exercise 4.6 课程简介 Python for Everybody 零基础程序设计(Python 入门) This course aims to teach everyone the basics of programming computers using Python. 本课…

JAVA2

文章目录 前言 前言 创建,编译java(每4修改一次就要重新编译!) 第一个程序: 解决中文乱码问题: 效果: 总结:

管理类联考——英语——趣味篇——词根词汇——按频次分类——高频词汇——List1

优化原书记忆方法,轻松搞定考研单词 摒弃了传统的以字母顺序排序的方法,结合近20年考研真题,通过电脑搜索等方法对核心词进行科学统计,将核心词有机地分为高频词汇、常考词汇、中频词汇、低频词汇等4大部分,同时还补充…

一个三极管和稳压管构成的简易稳压电源

一个三极管和稳压管构成的简易稳压电源 先看电路 原理分析: 实际使用中可以加入合适的滤波电容。 上面的电路原理看着比较简单,但还是有不少要注意的地方。 来看看仿真电路的结果: 可以看到,输出的电压并不是我们想要的结果&am…

高压线路距离保护程序逻辑原理(五)

六、系统振荡的判断与振荡闭锁程序逻辑框图 (一)系统振荡概述 电力系统的振荡大致可以分为两种情况:一种是静稳破坏引起系统振荡,另一种是由于系统内故障切除时间过长,导致系统的两侧电源之间的不同步而引起的系统振…

【单片机】MSP430单片机,1.3寸 IIC OLED ,显示驱动

文章目录 main.coled.holedfont.h main.c #include <msp430.h> #include "OLED.h"int main( void ) {WDTCTL WDTPW WDTHOLD; /* Stop WDT */if ( CALBC1_8MHZ 0xFF ) /* If calibration constant erased */{while ( 1 ); /* do n…