一、本地环境安装docker工具(Win8系统)
Win8 需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
转入网页
选择最后一个版本DockerToolbox-18.03.0-ce.exe安装。
安装比较简单,双击运行,点下一步即可,可以勾选自己需要的组件:
安装成功后,桌边会出现三个图标,如下图所示:
点击 Docker QuickStart 图标来启动 Docker Toolbox 终端。
二、使用阿里云镜像加速
阿里云容器服务地址为(https://cr.console.aliyun.com)
注册开通后产品页面如下
第一步切换标签页到命名空间,创建地址唯一的命名空间
根据大赛要求选择对应的地域,其他的按照自己需求选择或填写
下一步,选择本地仓库,不建议其他选项,完成创建。
点击管理,可查看详情。
在镜像加速器页面,可查看镜像加速器地址
在Docker Toolbox中更改镜像源
- 进入Docker Quickstart Terminal
- 执行以下命令
docker-machine ssh default
sudo sed -i “s|EXTRA_ARGS=’|EXTRA_ARGS=’–registry-mirror=加速器地址 |g” /var/lib/boot2docker/profile
exit
docker-machine restart default
设置成功后,执行docker info,会发现镜像地址设置成功。
在本地完成登录,
docker login --username=账号名 registry.cn-shanghai.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
三、构建镜像并推送
1.准备所需文件
新建一个文件夹(例如tianchi_submit_demo)用于存放这次任务镜像所需的文件,文件夹中内容示例,其中code文件夹下存放mlp_predict.py代码文件,result文件夹下为空,user_data文件夹下存放本地训练好的模型参数。
Dockerfile配置文件参考:
#Base Images
##从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/tensorflow:latest-cuda10.0-py3
##把当前文件夹里的文件构建到镜像的根目录下(.后面有空格,不能直接跟/)
ADD . /
##指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /
##Install Requirements(requirements.txt包含python包的版本)
##这里使用清华镜像加速安装(清华镜像若卡,可换成豆瓣镜像)
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
RUN pip install -i https://pypi.douban.com/simple -r requirements.txt
#RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
##镜像启动后统一执行 sh run.sh
CMD [“sh”, “run.sh”]
2.构建镜像并推送
执行docker build -t registry.cn-shanghai.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
注意:registry.~~~是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。
推送到镜像仓库 docker push registry.cn-shanghai.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
四、提交验证运行结果
在左侧【提交结果】中填写推送的镜像路径、用户名和密码,即可提交。根据【我的成绩】中的分数和日志可以查看运行情况。
提交之后等一段时间,在我的成绩中,可以看到分数:
五、常见问题
1.启动Docker Quickstart Terminal时出现
原因:之前安装的版本未卸载干净导致启动错误。
解决方法:卸载之前安装版本,并到安装路径下将Docker Tool文件夹删除,再重新安装。
2.提交之后报错,没有成绩,日志显示
原因:代码中有中文,或者有中文注释
解决方法:在代码开头加入# coding:utf-8
3.提交之后报错,日志提示
FileNotFoundError: [Errno 2] No such file or directory: ‘./result/test_00043_10_09.npy’
原因:代码里用到了result文件夹的路径,实际不存在
解决方法:新建一个result文件夹
4.提交之后,一直显示waiting,界面显示
原因:配置路径的账号和密码可能错误,导致找不到镜像
解决方法:检查配置路径的账号和密码是否错误。