系统综合实践(五)-Docker!这是最后的实验了吗。
第5次实践作业
项目结构
Dockrfile
From python:3
Workdir /test#容器工作目录
Copy requirements.txt .
RUN pip install -r requirements.txt -i https://pypi.douban.com/simple
ENTRYPOINT ["python"]
CMD ["hello.py"]
HelloWorld
--rm 容器运行完成后移除
-v 挂载文件目录到工作目录
Calender
在这部分遇到了一些问题。
"due to a circular import"--即我用我自己,引用的库和py名字冲突了,火速改名。
Mysql
先进入数据库容器建个表,这里涉及到Mysql登录遇到的各种问题。在Mysql5.6,Mysql5.7对于登录方法作了不同的要求,“ mysql镜像的运行得先将mysql挂到后台运行之后使用exec命令进入mysql操作,否则就会出现这样的情况 ”。
import pymysql
# 打开数据库连接
db = pymysql.connect(host = '10.0.2.15',port=3306,user= "root",password= "123456", db='user')
cursor = db.cursor()
# 先查询一次数据库数据
sql = """select * FROM vip"""
cursor.execute(sql)
results = cursor.fetchall()
print(results)
# SQL插入语句
sql = """insert vip(name,id)
values('lxx',2)"""
cursor.execute(sql)
db.commit()
# 插入完成后再读取一次数据库数据
sql = """select * FROM vip"""
cursor.execute(sql)
results = cursor.fetchall()
print(results)
# 关闭数据库连接
db.close()
Opencv
import cv2
# 生成图片
img = cv2.imread("test.jpg")
# 生成灰色图片
imgGrey = cv2.imread("test.jpg", 0)
# 展示原图 ,下面这句话得注释掉
#cv2.imshow("img", img)
# 展示灰色图片 ,因为docker不支持图形显示所以这个地方要注释掉
#cv2.imshow("imgGrey", imgGrey)
# 等待图片的关闭
cv2.waitKey()
# 保存灰色图片
cv2.imwrite("output.jpg", imgGrey)
前
后
总结
花费了近4个多小时,主要是遇到了一些过去没解决的小问题就想给它怼干净。
总体来说对docker运用的理解又大大的提高了!