如何利用dokcer提交我的比赛代码

运气很好进入了天池的一个复赛,但是复赛评测时需要提交docker镜像,捣鼓了一个晚上,终于搞清了整套的流程.由于晚上已经下定决心要早点睡觉,害怕明早就会忘记的我还是先把步骤记录下来.

1. 安装docker环境

2. 开通阿里云容器镜像服务

这个参考天池官方教程即可

3.重点

3.1 拉取一个python3的基本镜像到本地

docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

此时在命令行下敲击docker images应该会出现registry.cn-shanghai.aliyuncs.com/tcc-public/python这个镜像

3.2 在镜像内安装一些依赖的包

编写Dockerfile文件如下:

# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /

## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /

## 安装需要的依赖
RUN pip install --upgrade pip
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy pandas sklearn xgboost

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]

之后所有的操作都和教程里一样

4. 另外的记录

除了直接在Dockerfile中声明创建新镜像时安装依赖,还可以进入registry.cn-shanghai.aliyuncs.com/tcc-public/python:3镜像对应的容器,在容器中安装完依赖后,将容器新打包成一个镜像.然后Dockerfile中的FROM改成来自这个新镜像即可.

具体的步骤参考这位博主的博客

posted @ 2020-02-25 22:10  小王点点  阅读(675)  评论(0编辑  收藏  举报