第一步:先寫好flask最小化代碼,保證可以訪問的到
[root@VM-0-15-centos Dockerfile]# cat flaskapp.py from flask import Flask import os app = Flask(__name__) @app.route('/') def index(): res = os.environ.get('name') return "hello,{}".format(res) app.run(host='0.0.0.0',port=5000)
第二步:編寫dockerfile代碼
[root@VM-0-15-centos Dockerfile]# vim Dockerfile FROM python:3.6 MAINTAINER <fengzi@163.com> ADD flaskapp.py /root RUN pip install jinja2 -i https://mirrors.aliyun.com/pypi/simple RUN pip install flask -i https://mirrors.aliyun.com/pypi/simple ENV name=fengzi EXPOSE 5000 CMD ["python","/root/flaskapp.py"]
第三步:這時候你可以用docker run啟動,我這里用k8s啟動,所以還需要寫yaml文件,這里我往環境變量里傳入了name=fengzi變量,因此在訪問web的時候就會是hello,fengzi,按照這個思路你可以傳入你想傳入的變量
[root@VM-0-15-centos ~]# cat flaskapp1.yaml apiVersion: v1 kind: Service metadata: name: flaskapp1 labels: app: flaskapp1 spec: selector: app: flaskapp1 ports: - name: http port: 5000 --- apiVersion: apps/v1 kind: Deployment metadata: name: flaskapp1 spec: replicas: 1 selector: matchLabels: app: flaskapp1 template: metadata: labels: app: flaskapp1 version: v1 spec: containers: - name: flaskapp-container image: mysite imagePullPolicy: IfNotPresent env: - name: name value: fengzi
第四步:創建pod
[root@VM-0-15-centos ~]# kubectl apply -f flaskapp1.yaml service/flaskapp1 configured deployment.apps/flaskapp1 configured
第五步:驗證