我通过 docker 运行 FastApi,在 docker-compose 中创建一个名为 ingestion-data 的服务。我的 Dockerfile :
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
# Environment variable for directory containing our app
ENV APP /var/www/app
ENV PYTHONUNBUFFERED 1
# Define working directory
RUN mkdir -p $APP
WORKDIR $APP
COPY . $APP
# Install missing dependencies
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
和我的 docker-compose.yml 文件
version: '3.8'
services:
ingestion-service:
build:
context: ./app
dockerfile: Dockerfile
ports:
- "80:80"
volumes:
- .:/app
restart: always
Run Code Online (Sandbox Code Playgroud)
我不确定为什么当我在应用程序的任何端点中进行任何更改时,它不会自动获取任何更改。我每次都必须重建我的图像和容器。
我有一个boost::program_options::variables_map参数。现在我想像键值对一样手动插入到这个地图中。例子:
boost::program_options::variables_map args
args["document"] = "A";
args["flag"] = true;
Run Code Online (Sandbox Code Playgroud)
问题是我已经有了这两个选项
desc.add_options()
("document", po::value<std::string>())
("flag", po::value<bool>());
Run Code Online (Sandbox Code Playgroud)
但有时它们会从命令行获得空输入。所以如果它们是空的,那么我必须在 po::variables_map args 本身中更新它们