docker打包镜像并迁移:如何从A服务器打包docker镜像到B服务器上容器中运行

news/2024/12/23 7:20:52/

docker_0">1.在A服务器上,查看docker镜像

docker images

会显示当前的服务器上已有的镜像

2.在A服务器上,将所需要的镜像打包

docker save -o shuai_docker.tar xxx(镜像名):vxx(镜像版本)

会出现:xxxxx:Loading layer [=========>] xxkB/xxkB字样

dockertarAB_14">3.将shuai_docker.tar从A服务器传到B服务器

docker_15">4.在B服务器上确认是否有docker权限(前置工作)

dockergrep_docker_etcgroup____docker_16">4.1 查看现有docker用户:grep docker /etc/group —>可以看自己有没有docker权限

dockersudosudo_usermod_aG_docker_shuaiB_17">4.2 如果没有,给自己添加docker权限(前提是有sudo权限):sudo usermod -aG docker shuai(服务器B上的你的用户名)

docker_18">5.导入docker镜像文件

docker load --input xx/xx/shuai_docker.tar

会出现:xxxxx:Loading layer [=========>] xxkB/xxkB
Loaded image: xxx(镜像名):vxx(镜像版本)
字样

6.查看镜像是否导入成功

docker images 或 docker images -a

7.新建container容器运行该镜像

docker run
–gpus all --------------------->代表可以使用B服务器中的所有GPU,如果不写,就不可以使用B服务器上的GPU,如果B服务器上有8个GPU,写–gpus 3,4,5,表示在docker中可以使用B服务器的3,4,5号GPU
-it --------------------------------------------> 交互式开发选项
-p [宿主机端口(B服务器)]:10024 ------------------------------------->容器端口为10024固定,宿主机端口随便写;此参数方便之后远程调试
–ipc=host ------------------------->标志在两个容器间共享内存。例如:设置两个docker容器,一个作为用于数据保存在内存中的服务器,另一个作为用于访问该数据的客户端。
–shm-size=8gb ----------------------------->设置共享内存的大小:默认64M,比如B服务器内存为64G,这里就可以设置为8G
–env=‘DISPLAY’ --------------->将主机的显示环境变量共享到容器
–volume=“tmp/.X11-unix:/tmp/ .X11-unix:rw” ------------>可调用宿主机图形界面
-v xxx/code(B服务器中):xxx/code(docker中) ---------> 宿主机地址映射到docker中地址
-v xxx/data(B服务器中):xxx/data(docker中) ----------> 宿主机地址映射到docker中地址
name your_name(给容器起个名字)---------------->container容器名字
xxx(镜像名):vxx(镜像版本) -------------->容器选用的镜像image
/bin/bash

docker run后会自动启动该docker

8.其他指令

停止:docker stop shuai_docker
启动:docker start shuai_docker
挂载docker attach shuai_docker
退出:exit
查看:docker ps -a
重命名:docker rename shuai_docker(旧名字) liushuai_docker(新名字)
删除:docker rm shuai_docker
docker中安装新的环境:pip install

dockerssh_57">这里有个前置条件是:docker开启了ssh服务

vscode连接docker:
1.先启动docker
2.点击vscode界面左下角的xxx按钮,在弹出的界面中间上方点击"Attach to Running Container"
3.输入/shuai_docker,选择,输入密码


http://www.ppmy.cn/news/1557405.html

相关文章

CPU性能优化--前端优化

绝大部分时候,CPU前端低效可以描述为这样一种情况,后端在等待指令来执行,但是前端不能给后端提供指令。结果就是,没有做任何有意义的工作,CPU时钟周期被浪费了。因为现代处理器是4发射的,所以会有这样一种情…

【漏洞复现】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…

微信小程序实现画板画布自由绘制、选择画笔粗细及颜色、记录撤回、画板板擦、清空、写字板、导出绘图、canvas,开箱即用

目录 画板创建canvas绘制及渲染画笔粗细功能实现画笔颜色选择画笔痕迹撤回、板擦、画布清空canvas解析微信小程序中 canvas 的应用场景canvas 与 2D 上下文、webgl 上下文的关系图像的加载与绘制说明代码说明画板创建 canvas绘制及渲染 在wxml添加对应的canvas标签代码,并在j…

分布式协同 - 分布式事务_TCC解决方案

文章目录 导图Pre流程图2PC VS 3PC VS TCC2PC(Two-Phase Commit,二阶段提交)3PC(Three-Phase Commit,三阶段提交)TCC(Try-Confirm-Cancel)2PC、3PC与TCC的区别2PC、3PC与TCC的联系 导…

函数:参数与返回值类型

本文我们将深入探讨 函数的参数和返回值类型,这是 TypeScript 中最常用的特性之一。了解如何为函数参数和返回值添加类型,不仅能帮助你避免常见的错误,还能提高代码的可读性和可维护性。 在 JavaScript 中,函数的参数和返回值是没…

2024年智能船舶与机电系统

重要信息 会议官网:www.icises.org 会议时间:2024年12月27-29日 会议地点:中国广州 大会 2024年智能船舶与机电系统(ICISES 2024)初定于2024年12月27-29日在中国广州举行。会议主要围智能船舶与机电系统等研究领域…

RF分类-随机森林(Random Forest)

RF分类详细介绍 源码 什么是RF分类? RF分类(随机森林分类)是一种集成学习方法,基于**随机森林(Random Forest)**算法,用于解决分类和回归问题。随机森林通过构建多个决策树并结合它们的预测结…

渗透测试-前后端加密分析之RSA+AES

本文是高级前端加解密与验签实战的第8篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA与AES加密来爆破登录。 由于RSA加解密有长度限制,以及解密速度等问题,所以如https等协议都是用非对称加密对称加…