生成如下目录和文件
.
├── app
│ └── main.py
└── Dockerfile
Dockerfile的内容
FROM tiangolo/uwsgi-nginx-flask:python3.7
COPY ./app /app
https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask
这是镜像的地址,上面也有使用说明
main.py的内容
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World from Flask"
if __name__ == "__main__":
# Only for debugging while developing
app.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就可以启动了。