打包docker镜像,制作自己的pytorch。

在这里插入代码片
先上结论。
1、如果有可能,自己从0开始制作自己的镜像,然后打包。可以自己清楚里面的细节,不会污染环境。
从docker镜像库下载的python、anconda、pytorch等等很多高赞的镜像包,都是基于centos镜像
或者ubuntu镜像制作的。一个简单的python包可能大小一个G左右,这似乎难以想象,其实,它是先
下载一个centos镜像,然后在centos基础上安装python或者anconda,过程和linux下的操作非常
类似。网上有一种写Dockerfile来打包的方式,这种方式需要在Dockerfile中写上一些shell指令,
就拿python程序来说,需要干的事情是先更新pip,然后用pip去下载python依赖,如果使用一个单独
的requirements.txt来存放python依赖,那么很可能会在Dockerfile写上
RUN pip install -r requirements.txt失败。简单的程序当然可以避免很多错误,但是当你的程序
依赖很多的时候,需要修改的地方就很多。这个时候,与其使用别人制作的镜像,使用Dockerfile的修修补补,
还补不好,不如用干净的centos镜像去制作。基础配置越完善,后面问题越少。
2、后面会贴上可能遇到的问题,比如docker 镜像中安装anconda和在centos中安装anconda就会有一些区别,
在centos上安装anconda,需要source activate base去开启anconda的python环境,在docekr制作的
容器之中也需要,此外由于每次关闭docker容器后重新开启,还会遇到新的问题,比如说什么
source activate base执行失败,提示activate找不到。这些都是需要一些配置。
3、此外还有一种情况,在外面的物理机上制作好了一个pytorch环境(在anconda中),那么我需要在docker
再次弄一次吗?依赖找不齐怎么办,依赖安装顺序也大有名头,python的依赖安装有时候是需要其它的基础
依赖的,否则会遇到一堆解释不清的问题。可以直接将物理机上的anconda环境拷贝到docker下,只有docker
下也有一个anconda就行。
4、有用的指令

docker images
docker ps -a
docker start xx
docker stop xx
docker rm xx
docker rmi xx
docker run --name xx -idt nn
docker exec -it xx /bin/bash
exit
docker cp ww xx:/usr/local
docker commit -m="描述信息" -a="作者" 容器id  目标镜像名


如果我使用docker提供的python镜像,跑一个简单的helloworld
只需要一个dir文件夹(存放hello.py)、一个Dockerfile、一个requirements.txt
这三个文件存放在一个单独的文件夹下,不要和其它文件放在一起,否则打包都会放进去。
#Dockerfiler如下
# 基于的基础镜像
FROM python:3.6.5
# 设置code文件夹是工作目录
#COPY dir .
#
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值