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

ops/2024/12/23 14:04:40/

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/ops/144317.html

相关文章

C++打造局域网聊天室第十二课: 客户端和服务端的切换

文章目录 前言一、补充说明二、客户端和服务端身份状态的切换三、点击关闭窗口按钮总结 前言 C打造局域网聊天室第十二课: 客户端和服务端的切换 一、补充说明 在C打造局域网聊天室第十一课: 程序关闭及线程的结束中描述的服务端线程的关闭和结束是存在…

了解 SpringMVC 请求流程

文章目录 1. Spring 基础 - SpringMVC 请求流程1.1 引入1.2 什么是 MVC1.3 什么是 Spring MVC1.4 请求流程核心架构的具体流程步骤补充 1.5 案例**Maven 包引入****业务代码的编写**DaoServiceControllerwebapp 下的 web.xmlspringmvc.xmlJSP 视图 2. Spring 进阶 - Dispatcher…

C语言:排序

1. 插入排序 (Insertion Sort) 插入排序是一种简单直观的排序算法,它的工作原理类似于整理扑克牌。它的基本思想是将数组分为已排序部分和未排序部分,每次从未排序部分取出一个元素,插入到已排序部分的合适位置。 步骤: 从数组…

基于知识图谱的医疗问答系统(dockerfile+docker-compose)

文章目录 一、搭建 Neo4j 图数据库1、方式选择2、Dockerfiledocker-compose部署neo4j容器2.1、更新 yum 镜像源2.2、安装 docker-ce 社区版2.3、配置镜像加速2.4、安装 Docker Compose2.4.1、下载 Docker Compose 二进制包2.4.2、设置可执行权限2.4.3、查看版本 2.5、创建目录结…

国产 HighGo 数据库企业版安装与配置指南

国产 HighGo 数据库企业版安装与配置指南 1. 下载安装包 访问 HighGo 官方网站(https://www.highgo.com/),选择并下载企业版安装包。 2. 上传安装包到服务器 将下载的安装包上传至服务器,并执行以下命令: [rootmas…

最大似然检测在通信解调中的应用

最大似然检测(Maximum Likelihood Detection,MLD),也称为最大似然序列估计(Maximum Likelihood Sequence Estimation,MLSE),是一种在通信系统中广泛应用的解调方法。其核心思想是在给…

使用NodeJs 实现图片转PPT

序言 帮朋友下载网络资源。最后转化为PPT 网页是这样的 下载图片 需要使用nodejs来下载图片 安装需要的库 npm install axios执行下面的JS const fs require(fs); const path require(path); const axios require(axios); const { URL } require(url); const readlin…

从零开始学前端之HTML(三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 HTML CSS 内联样式内部样式表外部样式表 HTML图像HTML 表格HTML列表HTML区块HTML表单HTML框架 HTML CSS 内联样式- 在HTML元素中使用"style" 属性 内部…