当前位置: 首页 > article >正文

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

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

docker images

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

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

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

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

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

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

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

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

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

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

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


http://www.kler.cn/a/445828.html

相关文章:

  • centos7下docker 容器实现redis主从同步
  • 【学习总结|DAY021】Java 多线程
  • C语言进阶(2) ---- 指针的进阶
  • MySQL复制问题和解决
  • winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序,在需要屏蔽双击窗体最大化、最小化、关闭
  • 数据压缩比 38.65%,TDengine 重塑 3H1 的存储与性能
  • 如何利用Python爬虫获得Lazada商品评论列表
  • UE5 跟踪能力的简单小怪
  • 请求go web后端接口 java安卓端播放视频
  • U盘出现USBC乱码文件的全面解析与恢复指南
  • Go 1.24即将到来!
  • [spring]XML配置文件标签
  • 通过smem 定时检测系统内存占用情况
  • windows下搭建本地sofa-registry
  • C哈的刷题计划之新矩阵(4)
  • Syslog 管理工具
  • 基于单片机的医院盒装药品自动分拣系统(论文+源码)
  • 充分利用 AIStor 的网络配置
  • 54、库卡机器人轴的软限位设置
  • flutter 使用dio 请求go语言后台数据接口展示瀑布流图片
  • EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3
  • opencv图片的纠正透视转换函数的应用,水印的添加,轮廓的绘制
  • 【Mysql】数据库分区技术详解
  • @FeignClient用于Nacos微服务间的接口调用
  • 微信小程序的消息头增加的字段不能有下滑线,字段大写字母自动转换消息字母
  • python学习——洛谷P2010 [NOIP2016 普及组] 回文日期 三种方法