docker 复制容器

news2024/9/23 23:25:41

在 Docker 中复制容器本身并不是直接支持的操作,但你可以通过以下方法来实现类似的效果:

1.将已有的容器提交为镜像

2.以该镜像创建容器

3.开启容器,进入容器内部

一. 使用 Docker 镜像复制容器

首先,你可以将容器的状态保存为镜像,然后从该镜像创建一个新的容器。步骤如下:

提交容器的更改为镜像

docker commit <容器ID或名称> <镜像名>:<标签>

C:\Users\fuyul>docker commit phttp peach:2024
sha256:1d07a8690c4f65a0cc5ef836b14d73facd24f5911b06f3e977fb50010cedce80

成功执行 docker commit 命令时,终端会输出新的镜像 ID。例如:

sha256:abc123def4567890...

查找镜像

删除镜像 peach 和 peach1(可不执行)

结果:

从镜像创建新容器

查看在运行的容器

  1. 从镜像创建新容器

    docker run -d <镜像名>:<标签>

    例如:

    docker run -d -v d:\Data:/peachs --name peachs peach:2024 /bin/bash -c "while true; do sleep 1; done"

    解释

  2. docker run: 这是用于运行一个新的容器的 Docker 命令。

  3. -d: 这个选项表示以“分离”模式运行容器,也就是说容器将在后台运行,而不是绑定到当前终端窗口。

  4. -v d:\Data:/peachs: 这个选项将主机上的 d:\Data 目录挂载到容器内的 /peachs 目录。这使得容器可以访问和操作主机上的 d:\Data 目录中的文件。

    • --name peachs: 这个选项为容器指定了一个名称 peachs,这样你可以用这个名称来引用和管理容器,而不需要使用容器的自动生成 ID。

    • peach:2024: 这是要运行的 Docker 镜像的名称和标签。peach 是镜像的名称,2024 是标签或版本号。

    • /bin/bash -c "while true; do sleep 1; done": 这是容器启动时要执行的命令。/bin/bash 启动一个 Bash shell,-c 选项允许你传递一个命令字符串。"while true; do sleep 1; done" 是一个无限循环的 Bash 脚本,这个脚本每秒钟暂停一次,实际上它使容器保持运行状态而不执行其他任务。

    • 这个命令的作用是启动一个基于 peach:2024 镜像的 Docker 容器,挂载主机上的 d:\Data 目录到容器内的 /peachs 目录,以分离模式运行,并在容器内执行一个无限循环的命令来保持容器处于运行状态。容器被命名为 peachs

开启容器

docker exec -it 容器名 /bin/bash
docker exec -it peachs /bin/bash

2. 使用 Docker 导出和导入容器

另一种方法是将容器的文件系统导出到 tar 文件中,然后在另一台机器上导入这个 tar 文件来创建新容器:

  1. 导出容器

    docker export <容器ID或名称> -o <文件名>.tar

    例如:

    docker export my_container -o my_container_backup.tar
  2. 导入容器

    docker import <文件名>.tar <新镜像名>:<标签>

    例如:

    docker import my_container_backup.tar my_new_image:latest
  3. 使用导入的镜像创建新容器

    docker run -d <新镜像名>:<标签>

    例如:

    docker run -d my_new_image:latest

3. 克隆容器的配置和数据

如果你需要复制容器的配置和数据,可以使用 Docker Compose 文件来定义和创建容器的配置,然后在另一台机器上使用相同的 Compose 文件来创建容器。这种方法适用于容器的配置和部署一致的场景。

注意事项

  • 容器状态docker export 和 docker commit 不会保存容器的运行状态(例如,当前进程状态),它们主要用于保存文件系统的状态。
  • 数据持久性:确保数据存储在持久卷中,这样在复制容器时,数据不会丢失。

根据你的具体需求和场景,选择合适的方法来复制容器。

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

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

相关文章

dropdown源码分析 -- ant-design-vue系列

组件结构 dropdown 组件对参数做了一些处理&#xff0c;然后直接调用了vc-trigger组件来进行渲染&#xff0c;先看一下整体的组件调用结构。 极简实现 这个组件需要满足以下几个基本的功能&#xff1a; 可以传入两个插槽 default 和 popup&#xff0c;default 是默认展示的节…

react js 处理表单( form )的2个例子

起因&#xff0c; 目的: 表单其实&#xff0c;有点复杂&#xff0c;因为涉及事件&#xff0c;event. 不熟悉的代码&#xff0c;还是尽量手写&#xff0c;不然的话&#xff0c;AI 生成的东西&#xff0c;自己看不懂。 例1 普通&#xff0c; 直接的方法 一个输入框&#xff0c…

微信小程序中数值计算的精度丢失问题

在微信小程序中&#xff0c;当你遇到数值计算的精度丢失问题时&#xff0c;主要是因为 JavaScript 在处理浮点数时存在固有的精度问题。这是因为计算机内部使用二进制形式存储数字&#xff0c;而某些十进制小数在二进制中无法精确表示&#xff0c;从而导致了精度误差。解决这个…

FastAPI 深度指南:使用依赖注入处理分页和过滤逻辑

在FastAPI框架中&#xff0c;Depends是一个关键的功能&#xff0c;它允许开发者通过依赖注入来管理和重用代码。这在处理API的分页和过滤逻辑时尤其有用&#xff0c;因为它可以将这些逻辑抽象化&#xff0c;从而减少冗余代码并提高效率。 通过Depends&#xff0c;我们可以定义…

优质设计素材网站推荐,助力创意设计

在设计工作中&#xff0c;优质的设计素材能够极大提升作品的质量和效率。无论是图标、插画、字体&#xff0c;还是配色方案&#xff0c;一个强大的素材库可以为设计师的创作提供无限的可能性。然而&#xff0c;面对互联网中海量的设计资源&#xff0c;找到适合自己需求的网站并…

Vue+SpringBoot+数据库整体开发流程 1

本篇文章通过springboot整合mybatis-plus去实现后端对数据库的增删改查&#xff0c;以及响应给前端的url&#xff0c;让前端获得数据。 目录 一、简单搭建一个Vue项目 检查node.js版本 使用vue-cli创建空项目 Vue-cli工程中每个文件夹和文件的用处 二、Mysql数据库 创建数…

全网最全的软件测试面试题(含文档)

1、你以前工作时的测试流程是什么&#xff1f; 参考答案&#xff1a;&#xff08;灵活回答&#xff09; 公司对测试流程没有规定如何做&#xff0c;但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正&#xff08;自己总结&#xff0c;吸取同行的方法&#xff09;…

7.测试用例设计方法 + Bug

一、正交实验法 1.使用场景 因果关系比较庞大的情况下&#xff0c;不太适合用因果图判定表&#xff0c;在这种情况下&#xff0c;一般会采用正交实验法。 2.例子&#xff1a; 字符属性设置&#xff08;4个条件&#xff09; 字体很多 字符样式很多 …

高颜值官网(2):12个小家电网站UI,这是火辣辣的美呀。

小家电网站的设计应该注重简洁、清晰和易用。以下是一些设计建议&#xff1a; 1. 清晰的导航&#xff1a;网站应该有清晰的导航菜单&#xff0c;让用户能够轻松找到他们需要的产品或信息。 2. 产品展示&#xff1a;网站应该有清晰的产品展示页面&#xff0c;包括高质量的产品…

Spring Boot 框架下的房屋租赁业务创新

第2章 技术介绍 2.1 相关技术 房屋租赁系统是在JSP MySQL开发环境的基础上开发的。JSP是一种服务器端脚本语言&#xff0c;易于学习&#xff0c;实用且面向用户。全球超过35&#xff05;的JSP驱动的互联网站点使用JSP。MySQL是一个数据库管理系统&#xff0c;因为它的体积小但…

【MySQL】数据库的操作【字符集和校验规则】【对数据库进行操作】【数据库备份与恢复】

目录 库的操作1.创建数据库2.字符集和校验规则2.1 查看系统默认字符集以及校验规则2.2查看支持的字符集2.3查看支持的字符集校验规则2.4 校验规则对数据库的影响 3.对数据库进行操作3.1查看数据库3.2显示数据库3.3修改数据库3.4删除数据库3.5备份与恢复(重要)3.5.1注意事项 3.6…

【python2C】1. 输入 (补)

基础的前文已备&#xff0c;不再赘述。 这里举两类特别的题。 1.矩阵题 输入 第一行为正整数n 第二行开始的n行&#xff0c;连续n个字符&#xff0c;代表不同的意义&#xff0c;无间隔字符&#xff01; Python nint(input()) data[input().split("") for _ in rang…

[数据集][目标检测]乱堆物料检测数据集VOC+YOLO格式1143张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1143 标注数量(xml文件个数)&#xff1a;1143 标注数量(txt文件个数)&#xff1a;1143 标注…

SSD学习内容记录

什么是ssd 固态硬盘 (SSD) 是基于半导体的 存储设备 &#xff0c;依靠 闪存 在计算机系统中存储持久数据。在 SSD 中&#xff0c;每个内存芯片均由包含内存单元&#xff08;也称为页或扇区&#xff09;的块构建而成&#xff0c;而内存单元又包含内存位。与使用磁铁存储数据的磁…

【PX4-AutoPilot教程-TIPS】PX4飞控Gazebo仿真去除asphalt沥青地面

PX4飞控Gazebo仿真去除asphalt沥青地面 环境&#xff1a; Ubuntu &#xff1a;20.04 LTS PX4 &#xff1a;1.13.0 在使用PX4飞控进行仿真测试时&#xff0c;默认的Gazebo仿真环境通常会包含一个沥青地面&#xff08;asphalt plane&#xff09;。然而&#xff0c;在某些特定测…

interface 原来是这样用的呀 ?typescript入门指南05(持续更新中)

大家好&#xff0c;我是王天~ 这篇文章是 ts入门指南系列中第5篇&#xff0c;主要讲解ts中的interface接口应用&#xff0c;接口在ts中是比较重要的功能、兼顾类型的约束和拓展 ts 入门指南系列 Ts vs Js 谁适合前端开发&#xff1f; | TypeScript 入门指南 01详解 tsconfig.j…

【AIGC】InstructPixPix:基于文本引导的图像编辑技术

github:diffusers/examples/instruct_pix2pix/train_instruct_pix2pix_sdxl.py at main huggingface/diffusers GitHub 论文&#xff1a;https://arxiv.org/pdf/2211.09800 摘要 我们提出了一种从人类指令编辑图像的方法&#xff1a;给定一个输入图像和告诉模型做什么的书面…

往年互联网大厂腾讯华为百度等校招面试笔试题合集

踏入互联网巨头的第一步&#xff0c;从征服这份笔试真题集开始&#xff01;小编搜集了多家顶尖互联网企业的历年校招面试笔试题&#xff0c;从基础扎实的数据结构与算法&#xff0c;到考验创新能力的产品设计案例&#xff0c;再到紧跟时代脉搏的前沿科技问答&#xff0c;全方位…

【笔记】扩散模型(七):Latent Diffusion Models(Stable Diffusion)论文解读与代码实现

论文链接&#xff1a;High-Resolution Image Synthesis with Latent Diffusion Models 官方实现&#xff1a;CompVis/latent-diffusion、CompVis/stable-diffusion 这一篇文章的内容是 Latent Diffusion Models&#xff08;LDM&#xff09;&#xff0c;也就是大名鼎鼎的 Stable…

HarmonyOS开发之Swiper的使用(跳转到指定索引的方法)

一&#xff0c;效果图 class MyDataSource implements IDataSource {private list: number[] []private listener: DataChangeListenerconstructor(list: number[]) {this.list list}totalCount(): number {return this.list.length}getData(index: number): any {return thi…