栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

将本地的anaconda环境封装到docker中并导出为压缩包

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将本地的anaconda环境封装到docker中并导出为压缩包

文章目录
      • 1. 在本地(ubuntu20.0)安装docker
      • 2. 进入docker官网pull一个需要的镜像
      • 3. 进入本地虚拟环境,获得requirement.txt
      • 4. 创建自己的Docker容器
      • 5. 将第3步获得的requirement.txt拷贝到第4步创建的docker容器中
      • 6. 进入第4步创建的名字为:elon的容器中,安装需要的包
      • 7. 退出容器,提交我们的新镜像
      • 8. 将镜像导出为压缩包
      • 9.将压缩包上传到浪潮服务器

1. 在本地(ubuntu20.0)安装docker

安装命令如下:

sudo apt-get update
sudo apt-get install -y docker.io

启动docker,检查docker是否安装成功

sudo systemctl enable docker
sudo docker version
2. 进入docker官网pull一个需要的镜像

例如从网址->:
link
抽取镜像: cddlyf/pytorch1.1.0-tensorflow-py36-cuda10.0
命令如下:

sudo docker pull cddlyf/pytorch1.1.0-tensorflow-py36-cuda10.0


注:其它Docker镜像操作命令

docker ps # 查看启动镜像时创建的Docker容器信息(包括id,name...)
docker run 镜像id # 启动镜像
docker rmi -f 镜像id # 删除指定镜像, -f表示强制删除
docker rmi -f $(docker images -aq) # 全部删除
exit # 退出docker镜像

3. 进入本地虚拟环境,获得requirement.txt

命令如下:

pip freeze > requirements.txt
4. 创建自己的Docker容器

虽然在每次启动镜像时都会创建一个Docker容器,但名字无法确定,这里我们创建一个名为:elon 的Docker容器。命令如下:

exit # 创建容器前先退出Docker镜像
# 为镜像image_name创建一个名为elon的容器
sudo docker run --name elon -idt image_name

5. 将第3步获得的requirement.txt拷贝到第4步创建的docker容器中

sudo docker cp 本地路径 docker路径,例子如下:

sudo docker cp /home/guest/requirements.txt demo:/home


注:其它Docker容器操作命令

docker ps # 列出当前正在运行的容器信息
-a        # 列出当前正在运行的容器和历史运行过的所有容器信息
-q        # 只显示容器id

docker start 容器id   # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id    # 停止当前正在运行的容器
docker kill 容器id    # 强制停止当前容器

docker exec -it 容器id /bin/bash
docker attach 容器id

# 区别
# docker exec   # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach # 进入容器正在执行的终端,不会开启新的终端

docker rm id容器 # 删除指定容器,不能删除正在运行的容器,可用 rm -f 强制删除
# 骚操作,linux下有效
docker rm -f $(docker ps -aq)      # 删除所有容器
docker ps -a -q|xargs docker rm -f # 删除所有容器


6. 进入第4步创建的名字为:elon的容器中,安装需要的包
sudo docker exec -it demo /bin/bash
pip install -r requirements.txt #一定要进入requirement.txt目录下运行
7. 退出容器,提交我们的新镜像

docker commit -m=“描述信息” -a=“作者” 容器id 目标镜像名:[tag]

sudo docker ps -a # 查看容器id
docker commit -m="add scikit packages" -a="lynnh" 8cd9c9935d2a

返回类似如下信息表示提交成功:

sha256:b285a729c32b3a20411dcd09bc39acfdef93054e5091b0054bef08d665c27643

8. 将镜像导出为压缩包
sudo docker images # 查看容器名
docker save image_name -o compressed_package_name

9.将压缩包上传到浪潮服务器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487947.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号