如何通过docker compose和gunicorn传递环境变量?

时间:2019-07-15 10:29:12

标签: python docker docker-compose gunicorn

我有一个用python编写的restful-api服务(在docker容器中使用flask和gunicorn)。现在我想通过docker compose的'environment:'传递一个环境变量。

我的dockerfile:

onPressHandler = () => {
   Clipboard.setString('mail@mail.com');
   Alert.alert('Alert', 'Copied');
}

run_api.sh:

FROM python:3.7
# Set work directory
WORKDIR /API
# Install package we need
RUN pip install -r requirements.txt
ENTRYPOINT ["bash", "run_api.sh"] 

server.py:

#!/bin/bash
cd /API
gunicorn server:app

我使用gunicorn运行服务器。生成映像后,我想使用docker compose部署服务并传递一些变量,例如if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument("--port", default=8551, type=int, help="API Port") parser.add_argument("--foo") parser.add_argument("--bar") args = parser.parse_args() app.run(host='0.0.0.0', debug=False, port=args.port) --foo

该如何解决?

docker-compose.yml:

--bar

简而言之,我需要将变量从version: "3.7" services: ts-api-0: image: myimage container_name: "mycontainer" network_mode: "bridge" pid: "host" ports: - "8551:8551" restart: always environment: - "foo=foofoo" - "bar=barbar" 传递到docker-compose.ymlgunicorn

非常感谢!

0 个答案:

没有答案