Ubuntu环境的docker实践——python

创建运行python代码的Dockerfile

python代码的运行需要安装python环境,而提前将python环境封装在容器里面,可以提供比虚拟机更轻量级的部署成本。
此处以python3为例,描述通过容器运行python3代码的过程。基础容器为docker hub上的python容器
需要为待运行的python代码创建Dockerfile文件:

# 将python3官方容器作为基础容器,若是python2,则改为python:2
FROM python:3
# 设定工作目录
WORKDIR /usr/src/app
# 将python代码运行所需的包(package)放入requirements.txt,安装时切换成清华源。
COPY requirements.txt ./
RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 将python代码考入镜像
COPY apps /usr/src/app/

# 将hello.py改为需要运行的python文件名,运行容器时可以替换python文件
ENTRYPOINT ["python"]
CMD ["hello.py"]

在容器中运行简单的python代码

注意:由于用到了input,需要输入内容,因此运行容器的时候需要用到-it参数,否则会报EOFError: EOF when reaeding a line的错误。

以上两个例子并不需要在requirement.txt中添加额外的包,下面的就需要了。

测试python 3和mysql数据库的连接

以python3的mysql数据库包为例,见下图。

注意:cryptography如果没安装,我遇到了报 RuntimeError: cryptography is required for sha256_password or caching_sha2_p 的错误。

代码来源
数据库信息:容器部署的mysql,运行在网络dockerlamp_lamp上,修改代码来源中的数据库信息,数据库地址使用mysql的容器名,用户和密码自定义
运行结果:

猜你喜欢

转载自www.cnblogs.com/fjlinww/p/12747234.html