以下内容针对天池的Flink-AAIG比赛
1. Error response from daemon: dial unix docker.raw.sock: connect: connection refused
题目要求:建议选手在基础镜像上开发。链接:registry.cn-shanghai.aliyuncs.com/tcc-public/tianchi_antispam:v1。
但是我docker pull以上命令报错。
解决方法参考: https://github.com/docker/for-mac/issues/5253
尴尬的是好像确实是重启了下docker就好了,重启大法好
2 /etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full!
docker里的mysql启动有问题,使用了网上各种方法,最后发现是docker的overlay分区满了导致的。
解决方法:
docker system prune -a -f
一些实验
查看镜像中代码
进入镜像
docker run -it registry.cn-shanghai.aliyuncs.com/tcc-public/tianchi_antispam:v1 /bin/bash
由于缺少各种airflow、mysql等相关,所以耐心等待。
想要读取镜像内容可以采用另一种方式
docker exec -it f4c2e9a25843 sh
可以发现工作目录现在有几个脚本文件如listen_kafka.sh, push_kafka.sh, run.sh, run_bash.sh
代码从镜像复制到本地
这个命令慎用,好像连系统都给拷贝进来了,各种文件。还是需要指定好文件夹
docker cp f4c2e9a25843:/ ./
docker cp fb9b6162a01d:./root/ ./
关于ai-flow包的使用
pip list打印时发现ai-flow 0.1.0包的情况,由于不确定是否能换成TF2 或者 Torch,所以在pypi 搜索找到其包和源码
https://pypi.org/project/ai-flow/#modal-close
https://github.com/alibaba/flink-ai-extended/tree/master/flink-ai-flow
找到其predict函数的情况: https://github.com/alibaba/flink-ai-extended/blob/master/flink-ai-flow/ai_flow/api/ops.py
但还是不很懂
跑一下baseline
docker run -idt -v /home/teletraan/baseline/competition/AAIG2/tcdata:/tcdata registry.cn-shanghai.aliyuncs.com/tcc_public/tianchi_antispam:v2
docker exec -it CONTAIN bash