• 系统综合实践第五次作业


    一、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程序,做下来没有什么地方特别困难,就连接数据库会出现问题吧。

  • 相关阅读:
    Redis
    Redis
    Redis
    linux 安装docker
    linux 安装nexus
    linux 安装jenkins
    linux 安装gitlab
    python 类的继承
    python raise & assert
    python super()
  • 原文地址:https://www.cnblogs.com/hurricane1/p/12938274.html
Copyright © 2020-2023  润新知