生成如下目录和文件
.├── app│ └── main.py└── Dockerfile
Dockerfile的内容
FROM tiangolo/uwsgi-nginx-flask:python3.7COPY ./app /app
https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask
这是镜像的地址,上面也有使用说明
main.py的内容
from flask import Flaskapp = Flask(__name__)@app.route("/")def hello():return "Hello World from Flask"if __name__ == "__main__":# Only for debugging while developingapp.run(host='0.0.0.0', debug=True, port=80) #端口是80,必须指定
生成你的Flask镜像
docker build -t myflask .
这个镜像就生成了,名称为myflask,可以通过docker images查看
使用docker-compose管理容器
生成docker-compose.yml,目录结构如下
.
├── app
│ └── main.py
├── docker-compose.yml
└── Dockerfile
vi docker-compose.yml
version: '3'services:flask:image: myflask #这是上面生成的flask镜像container_name: myflask #这是容器的名称ports:- 8080:80 #端口映射volumes:- /home/afei/code/mydocker/flask/app:/app #目录映射working_dir: /app #contain工作目录# 运行后执行的命令command: python main.py
docker-compose up -d就可以启动了。
