第五次系统综合实践

Python镜像部署

  • 首先,日常换源
  • 文档结构
  • dockerfile
FROM python:3
MAINTAINER monster<1263199084@qq.com>
WORKDIR /app
COPY ./requirements.txt /requirements.txt
#修改源并>安装依赖
RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple
ENTRYPOINT ["python"]
#默认打开文件
CMD ["hello.py"]
  • requirements
PyMySQL
opencv-python

Hello World

-v将本地目录挂载到python工作目录以方便代码修改
--rm运行完毕后自动移除容器
sudo docker run -it --rm -v /home/kingbob/python/app:/app python:v1 helloworld.py
print('hello world')

日历(菜鸟驿站)

import calendar
 
# 输入指定年月
yy = int(input("输入年: "))
mm = int(input("输入月: "))
 
# 显示日历
print(calendar.month(yy,mm))
交互式终端需要 -it 指令
sudo docker run -it --rm -v /home/kingbob/python/app:/app python:v1 date.py

mysql操作(用实践二的数据库)


  • 注意一下上面图片和下面代码一些参数的对应关系
import pymysql  
  
# 打开数据库连接:容器名,账户,密码,容器里的数据库名  
db = pymysql.connect("youthful_kalam", "docker", "123456", "docker_mysql")  
#创建游标对象  
  
cursor = db.cursor()  
#先查询一次数据库数据  
sql = """select * FROM test"""  
cursor.execute(sql)  
results = cursor.fetchall()  
print(results)  
  
#SQL插入语句  
sql="""insert test(id,name)  
values(2022,'DEF')"""  
cursor.execute(sql)  
db.commit()  
  
#插入完成后再读取一次数据库数据  
sql = """select * FROM test"""  
cursor.execute(sql)  
results = cursor.fetchall()  
print(results)  
  
# 关闭数据库连接  
db.close()

sudo docker run -it --rm -v /home/kingbob/python/app:/app --link=youthful_kalam:youthful_kalam python:v1  database.py

opencv

#做一个图片翻转功能
import cv2
img=cv2.imread('test.jpg',flags=1)
rows,cols=img.shape[:2]
M=cv2.getRotationMatrix2D((cols/2,rows/2),90,1)
dst=cv2.warpAffine(img,M,(cols,rows))
cv2.imwrite("test-rotated.jpg", dst, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
print('rotated and saved.')
 sudo docker run -it --rm -v /home/kingbob/python/app:/app  python:v1 opencv.py


总结

  • 这次作业相比前面一次要轻松了,有了前面的基础相对解决问题也不会那么麻烦了
posted @ 2020-05-22 22:55  kingbob  阅读(174)  评论(0编辑  收藏  举报