docker dockerfile创建
第一点:首先确定自己的环境中已经安装了docker的环境,不然就没有构建docker的基本要素。
docker -v
第二点:创建一个文件夹。
mkdir docker_flask_app
cd docker_flask_app
第三点:创建一个flask的应用。
vi app.py
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
第四点:在同一目录中需要一个 Dockerfile。它只是名为 Dockerfile,没有扩展名,没有后缀。
vi Dockerfile
FROM centos7
COPY . /app
WORKDIR /app
ENTRYPOINT ["python"]
CMD ["app.py"]
这里需要特别注意:
FROM centos7(这是你本地的镜像,这个镜像中有你的运行环境,好比你的虚拟环境。现在要部署一个flask的app,应该有它的运行环境。centos中你应该下载了python环境等条件。)
COPY . /app(该当前目录下的所有文件都拷贝诶进入centos镜像文件的 /app中 。 就是把当前的app.py应用 考到 镜像的目录中。如果不拷贝,你的外部程序还是在外面。还有一种方法,就是你把代码文件在镜像中写。)
WORKDIR:指定接下来的工作路径为 /app。
ENTRYPOINT 和 CMD:使用 python app.py 运行该文件。这个可以看看
Docker Build
你仍应该在 hello_docker_flask 目录中。现在我们可以构建我们的 docker image 了。
docker build -t my_docker_flask:latest .
查看生产的镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my_docker_flask latest ddc23d92067e 45 seconds ago 687MB
Docker Run
docker run -d -p 5000:5000 my_docker_flask:latest