docker python开发环境_定制开发环境Docker镜像

定制开发环境Docker镜像

简介

Xiaomi Cloud-ML支持Bring Your Own Image功能,允许用户传入自定义的Docker镜像来启动开发环境。

注意,用户提供的镜像地址应该是公开可访问的,如果在DockerHub中下载镜像和启动任务时间较长。

制作Docker镜像

Cloud-ML的镜像中包含了平台通用的python,nvidia cuda,FDS FUSE等软件依赖。因此不推荐用户从头制作docker镜像,建议使用Cloud-ML的镜像作为基础镜像,进行增量修改。

和普通docker镜像制作过程相同,用户可以使用Dockerfile和docker commit两种方式制作新的镜像。下面分别举例介绍两种方式。

使用Dockerfile制作docker镜像

创建Dockerfile,使用某个Cloud-ML镜像作为基础镜像,添加用户自定义的内容。举例如下:

FROM cnbj6-repo.cloud.mi.com//cloud-ml/tensorflow-gpu:1.3.0-xm1.0.0

# Install python3

apt-get install python3

# Add local files

COPY init_env.py /

编译Dockerfile,生成镜像

docker build -t cnbj6-repo.cloud.mi.com//user1/tensorflow-gpu:1.3.0-xm1.0.0-python3 .

推送镜像到docker registry, (不熟悉docker registry的用户可以参考http://docs.api.xiaomi.net/docker-registry/)

docker login cnbj6-repo.cloud.mi.com/

docker push cnbj6-repo.cloud.mi.com//user1/tensorflow-gpu:1.3.0-xm1.0.0-python3

使用docker commit制作docker镜像

使用某个Cloud-ML镜像创建容器,进入容器后添加用户自定义的内容

docker run it --name mycontainer1 cnbj6-repo.cloud.mi.com//cloud-ml/tensorflow-gpu:1.3.0-xm1.0.0 bash

apt-get install python3

echo "export PYTHONUNBUFFERED=0" > /init_env.py

打包docker容器,生成镜像

docker commit --change='/prepare_dev.py && /run_jupyter.sh' mycontainer1 cnbj6-repo.cloud.mi.com//user1/tensorflow-gpu:1.3.0-xm1.0.0-python3 .

推送镜像到docker registry, (不熟悉docker registry的用户可以参考http://docs.api.xiaomi.net/docker-registry/)

docker login cnbj6-repo.cloud.mi.com/

docker push cnbj6-repo.cloud.mi.com//user1/tensorflow-gpu:1.3.0-xm1.0.0-python3

使用示例

用户创建开发环境时指定Docker镜像地址即可。

cloudml dev create -n mydev -p mypassword -d cnbj6-repo.cloud.mi.com//user1/tensorflow-gpu:1.3.0-xm1.0.0-python3

参数介绍

-d 表示用户指定的Docker镜像地址,注意不可与 -F 和 -V 参数同时使用。

注意:

Cloud-ML DevEnv的启动脚本是 /prepare_dev.py && /run_jupyter.sh,启动的时候会默认执行/prepare_dev.py && /run_jupyter.sh,所以,这个文件是必须的,里面的内容则可以根据自己的具体情况定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值