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

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

python 复制代码
docker images

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

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

python 复制代码
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镜像文件

python 复制代码
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,选择,输入密码

相关推荐
zhoupenghui16824 分钟前
【AI大模型应用开发】【项目实战】13.RAG智慧问答项目-(一)项目介绍&项目架构&项目环境配置
人工智能·docker·ai·milvus·rag·attu·rag智慧问答项目
iangyu35 分钟前
linux配置时间同步
linux·运维·服务器
从零开始的代码生活_1 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
灯厂码农1 小时前
C语言内存管理——内存对齐与共用体union
linux·服务器·c语言
GV191rLvq1 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
运维管理2 小时前
H3C SecPath W2000-G[AK]系列Web应用防火墙 典型配置举例(E6711 E6712 E6713)-6W108-H3C 官方配置
服务器·网络·php
C+-C资深大佬2 小时前
python while循环
服务器·开发语言·python
Tian_Hang2 小时前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
江畔柳前堤2 小时前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
iCxhust3 小时前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器