我有一个用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.yml
到gunicorn
。
非常感谢!