打包容器
打包容器
已经在超算(Centos)上部署了一个miniconda的容器,并且建立了名称为“AI”的环境用于AI算法测试。现在想将整个容器(包括容器内关联的共享文件夹内的测试文件)移植到本地电脑(Windows)。
本地电脑已经安装了Docker Desktop。
【步骤】
1、使用export打包容器
在超算相应文件夹内,使用命令打包容器成压缩包文件:
docker export -o MiniConda_byp_export.tar MiniConda_byp
2、下载压缩包文件到本地电脑
3、使用import命令将压缩包导入为镜像
cd D:BypProjectBakDocker
d:
docker import MiniConda_byp_export.tar MiniConda_byp:v022
docker import MiniConda_byp_export.tar miniconda_byp:v022
注意:会提示仓库/repository不能为大写。另外,Docker Desktop也同时显示导入的镜像(见下图)
4、建立容器
如果只是用命令建立容器会报错:
docker run -itd --name miniAI miniconda_byp:v022
提示缺少命令。
可以使用命令:docker ps --no-trunc,查询该容器的命令COMMAND:
MiniConda_byp 84b8693cbb04ec686a4f5f0e7c14c42c3251442d241b863cc34df26c190de114 sha256:4c533a0cfa563012cc0feba440a63aed78032fa8162e9bc85d60a02062047c24 "bash" 3 weeks ago Up 13 days
因此需要在run命令后加上bash:
docker run -itd --name miniAI miniconda_byp:v022 bash
不过由于原来的容器建立的时候是关联了一个共享文件夹,打包出来的容器其实是不包括这个关联共享文件夹的内容的:
上图图1可见,并未打包共享文件夹;上图图2是超算上面的共享文件夹内容。
5、重新来一次
将关联的共享文件夹内容,即test文件夹移动到容器内的文件夹,然后再用export打包——下载——import导入镜像——run创建容器....
docker export -o MiniConda_byp_export.tar MiniConda_byp
docker import MiniConda_byp_export.tar miniconda_byp:v023
docker run -itd --name miniAI miniconda_byp:v023 bash
最后进入容器,找到测试的文件夹test,进入conda环境,运行python程序: