首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用context.load_cert_chain(‘cert.pem,'key.pem') FileNotFoundError:[Errno 2]使用Docker部署烧瓶应用程序失败

使用context.load_cert_chain(‘cert.pem,'key.pem') FileNotFoundError:[Errno 2]使用Docker部署烧瓶应用程序失败
EN

Stack Overflow用户
提问于 2021-04-27 18:23:12
回答 1查看 98关注 0票数 1

我有一个用码头部署的烧瓶程序。我希望它是启用了https协议。使用的SSL自签名证书命令:openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

烧瓶应用程序(app.py)有以下内容:

代码语言:javascript
复制
from flask import Flask, jsonify
import ssl

application = Flask(__name__)
application.config.from_object(__name__)

context = ssl.SSLContext()
context.load_cert_chain('cert.pem','key.pem')

@application.route('/')
def default():
    return 'hello world \n'
if __name__ == '__main__':
    application.run(host='0.0.0.0', debug=False, ssl_context = context) 

我在同一个目录中复制了两个pem文件。我已经尝试将pem文件放置在/tmp文件夹中。仍然有同样的问题。

我用来构建应用程序图像的Docker文件:

代码语言:javascript
复制
FROM *orgs private image*
RUN /path/bin/pip install flask
ADD app.py /app.py
ENTRYPOINT ["python", "app.py"]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 18:27:10

代码语言:javascript
复制
ADD app.py /app.py

但不要

代码语言:javascript
复制
ADD cert.pem /
ADD key.pem /

因此它们在容器中不可用,因此在FileNotFound中不可用。

还可以进行其他改进(例如使用requirements.txt文件、使用子文件夹等),我建议阅读此https://docs.docker.com/language/python/build-images/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67288656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档