摸鱼一号选手

导航

 

一、python环境搭建

拉取镜像

目录结构

文件配置

Dockerfile

FROM python:3.7
WORKDIR /usr/src/app  
COPY requirements.txt ./  
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
VOLUME /usr/src/app
ENTRYPOINT ["python"]    
CMD ["hello.py"]   

requirements.txt

PyMySQL
opencv-python

构建python镜像

sudo docker build -t python


二、程序的部署运行

hello world程序

hello.py

#hello.py
print('hello world !')

运行hello.py(默认运行hello.py,所以可以不用指明文件名)

sudo docker run -it -v /home/lin/python/app:/usr/src/app --rm  python

日历输出

date.py

import calendar
# 输入指定年月
yy = int(input("输入年份: "))
mm = int(input("输入月份: ")) 
# 显示日历
print(calendar.month(yy,mm))

运行date.py

sudo docker run -it -v /home/lin/python/app:/usr/src/app --rm  python date.py

数据库操作

运行之前的数据库容器,并创建新表

sudo docker run --name mysql_image -p 3306:3306 -d mysql_image
sudo docker exec -it mysql_image /bin/bash  
mysql -u root -p
create database student;
use student
create table ID (num int , name varchar(20),primary key(num));  #创建数据表
insert into ID(num,name) value(913 , 'linli'); #插入数据
select * from ID;


db.py

import pymysql

db = pymysql.connect("10.0.2.15", "root", "123456", "student")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 使用 execute()  方法执行 SQL 查询 
try:
    cursor.execute("select * from ID;")   #执行
    results = cursor.fetchall()
 
    for row in results:
          num = row[0]
          name = row[1]
           # 打印结果
          print ("num=%d , name=%s" % \
                 (num,name ))

except:
    print("Error: unable to fetch data")
# 关闭数据库连接
db.close()

运行db.py

sudo docker run -it -v /home/lin/python/app:/usr/src/app --rm --link=mysql_image python db.py

opencv程序

cv.py

import cv2
img = cv2.imread("1.png", 0)
cv2.waitKey()
cv2.imwrite("2.png", img)  

运行cv.py

sudo docker run -it -v /home/lin/python/app:/usr/src/app --rm  python cv.py


三、用时与心得

用时

学习:1小时
动手:2小时
写博客:0.5小时
合计:3.5小时

心得

这次实验还是做的比较快,就是运行python程序,做下来没有什么地方特别困难,就连接数据库会出现问题吧。

posted on 2020-05-22 17:21  摸鱼一号选手  阅读(169)  评论(0编辑  收藏  举报