我正在尝试使用 docker 构建一个自定义 C++ 工具,该工具具有许多自定义库依赖项。
共有三个库:libA、libB 和 libC。libB 依赖于 libA,libC 依赖于 libA 和 libB。在我的家庭系统上,我通常会更新 libA 的源代码,然后安装其下游的所有内容,因为 libB 使用 CMake 来查找 libA 等。
在 docker 中实现这一目标的最佳方法是什么?难道也是用make install吗?我不希望在最终的图像中包含源代码 - 只是二进制文件和库。如果我使用多阶段构建,我如何知道我已将所有必要的其他库(例如curl、protobuf)复制到最终“层”中。仅安装构建映像的源而不安装部署映像的源不是更好吗?
我发现关于 docker 和 C++ 的信息并不多。
我正在构建一个小型网站,并且我已经在 SQLAlchemy 中拥有了所有模型。该网站将发布一些离线计算的信息。只有结果会发布到精简数据库,即包含结果,而不是原始数据,但网站需要查询结果。
我将使用 Flask,因为我的模型已经使用 Python 驱动(并且通过 SWIG 在 C++ 中进行了一些繁重的工作),并且我不想使用 Django。
现在,在我确定之前就有人问过这个问题,而没有太多理由的通常口头禅是“使用 Flask-SQLAlchemy”。问题是为什么?
如果我自己编写一些会话处理,为什么我必须在 Flask-SQLAlchemy 中重新定义数据库的附加层。除了必须在我的 Flask 应用程序中的某个地方编写一些代码之外:
@app.before_request
def before_request():
g.db = connect_db()
@app.teardown_request
def teardown_request(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
Run Code Online (Sandbox Code Playgroud)
我还需要担心什么?SQLAlchemy 甚至默认为我提供连接池。