一、镜像构建
1.编写dockerfile
FROM python:3
MAINTAINER Hz
WORKDIR /usr/local/app
COPY requirement.txt ./
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirement.txt
2.声明依赖(requirement.txt)
PyMySQL
opencv-python
3.构建镜像
4.文件结构
二、程序的部署运行
1.运行mysql容器
2.运行python容器
3.进入python容器
三、编辑各类pt文档
1.helloworld
(1)内容
print('hello world')
(2)运行
2.日历输出
(1)内容
import calendar
yy = int(input("输入年份: "))
mm = int(input("输入月份: "))
print(calendar.month(yy,mm))
(2)运行
3.opencv
(1)内容
import cv2
img=cv2.imread('25.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.')
(2)运行
(3)结果
4.mysql
(1)内容
import pymysql
打开数据库连接
db = pymysql.connect("hzmysql","docker","123456","docker_mysql",3306)
使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS user")
sql = """CREATE TABLE IF NOT EXISTS user (
id varchar(20) NOT NULL,
name varchar(20) DEFAULT NULL,
sex varchar(10) DEFAULT NULL)"""
cursor.execute(sql)
SQL 插入语句
sql = """INSERT INTO user(id,
name,sex)
VALUES ('666', 'kkk','female')"""
try:
执行sql语句
cursor.execute(sql)
提交到数据库执行
db.commit()
except:
如果发生错误则回滚
db.rollback()
SQL 查询语句
sql = "SELECT * FROM user"
try:
执行SQL语句
cursor.execute(sql)
获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
sex = row[2]
# 打印结果
print ("id=%s,name=%s,sex=%s" %
(id, name, sex))
except:
print ("Error: unable to fetch data")
关闭数据库连接
db.close()
(2)运行
(3)查看表
四、遇到的问题
在进行数据库相关操作是,由于连接是,配置用户名错误导致了连接失败,通过查阅资料发现是自己配置错误,通过更改得以正确连接
五、小结
本次实验做起来相比之前确实没那么困难,但我在做数据库相关操作时遇到一些错误,这些错误通过查阅资料花了短时间才得以解决,并在此过程中加深了相关方面的学习和理解