开发者

Dockerfile构建一个Python Flask 镜像

目录
  • 1.python 程序
  • 2.dockerfile
  • 3.开始构建一个小的demo

1.Python 程序

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
  return 'Hello, World!'

2.Dockerfile

FROM python:3.9.5-slim

COPY app.py /src/app.py

RUN pip install flask

WORKDIR /src
ENV FLASK_APP=app.py

EXPOSE 5000

CMD ["flask", "run", "-h", "0.0.0.0"]

3.开始构建一个小的demo

PS E:\images> docker image build -f .\flask_dockerfile -t flask_py .
[+] Building 80.3s (9/9) FINISHED
=> [internal] load build definition from flask_dockerfile                             0.0s
=> => transferring dockerfile: 38B                                        0.0s
=> [internal] load .dockerignore                                         0.0s
=> => transferring context: 2B                                          0.0s
=> [internal] load metadata for docker.io/library/python:3.9.5-slim                       12.7s
=> [internal] load build context                                         0.0s
=> => transferr编程客栈ing context: 152B                                         0.0s
=> [1/4] FROM docker.io/library/python:3.9.5-slim@sha256:9828573e6a0b02b6d0ff0bae0716b027aa21cf8e59ac18a76724d2 47.4s
=> => resolve docker.io/library/python:3.9.5-slim@sha256:9828573e6a0b02b6d0ff0bae0716b027aa21cf8e59ac18a76724d21 0.0s
=> => sha256:f42d92068b29045b6893da82032ca4fcf96193be5dcbdcfcba948489efa9e832 1.37kB / 1.37kB           0.0s
=> => sha256:c71955050276b1e3b4be7e29089e4babeb39957981d162a3d422e084601105d3 7.63kB / 7.63kB           0.0s
=> => sha256:b4d181a07f8025e00e0cb28f1cc14613da2ce26450b80c54aea537fa93cf3bda 27.15MB / 27.15MB         44.7s
=> => sha256:a1111a8f2ec3f3a8ee44a123047349a70f87d1cfebb9e48b06520d0eed436a71 2.77MB / 2.77MB           9.3s
=> => sha256:445d04774519ca200f5c48fd028beaafb49ca763dd58767f1ae7e3933306394c 10.93MB / 10.93MB         32.9s
=> => sha256:9828573e6a0b02b6d0ff0bae0716b027aa21cf8e59ac18a76724d216bab7ef04 1.86kB / 1.86kB           0.0s
=> => sha256:24f3f85d41f368fc2dcd569b181ef6cd4c2bee419a32853be2f8c8964cee34af 235B / 235B            11.9s
=> => sha256:d299f7fb612d59c3d87fcb17028a25c02e94722ef6235e60537a12d0e312abfc 2.64MB / 2.64MB          17.4s
=> => extracting sha256:b4d181a07f8025e00e0cb28f1cc14613da2ce26450b80c54aea537fa93cf3bda             1.3s
=> => extracting sha256:a1111a8f2ec3f3a8ee44a123047349a70f87d1cfebb9e48b06520d0eed436a71             0.2s
=> => extracting sha256:445d04774519ca200f5c48fd028beaafb49ca763dd58767f1ae7e3933306394c             0.5s
=> => extracting sha256:24f3f85d41f368fc2dcd569b181ef6cd4c2bee419a32853be2f8c8964cee34af             0.0s
=> => extracting sha256:d299f7fb612d59c3d87fcb17028a25c02e94722ef6235e60537a12d0e312abfc             0.2s
=> [2/4] COPY app.py /src/app.py                                         0.1s
=> [3/4] RUN pip install flask                                          19.8s
=> [4/4] WORKDIR /src                                               0.0s
=> exporting to image                                               0.2s
=> => exporting layers                            编程客栈                  0.2s
=> => writing image sha256:0567a371be3f084fb413092b480735083c224023f8801fc723e228a021ea54b1            0.0s
=> => naming to docker.io/library/flask_py
PS E:\images> docker images
REPOSITORY      TAG    IMAGE ID    CREATED     SIZE
flask_py       latest  0567a371be3f  10 minutes ago  125MB
PS E:\images> docker container run -d -p 5000:5000 0567a371be3f
ceb69c7ce778ebcf48a0ad91eb16902814cb20470ddb16d0ba795baa18cf4b01

访问浏览器本地ip:hhttp://www.cppcns.comttp://127.0.0.1:5000/ 显示Hello, World!http://www.cppcns.com

查看容器日志:

PS E:\images> docker logs ceb69c7ce778
* Serving Flask app 'app.py' (lazy loading)
* Environment: production
 WARNING: This is a development server. Do not use it in a production deployment.
 Use a production WSGI server instead.
* Debug mode: off
* Running on all addresses.
 WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://172.17.0.2:5000/ (Press CTRL+C to quit)
PS E:\images> docker logs ceb69c7ce778
* Serving Flask app 'app.py' (lazy loading)
* Environment: production
 WARNING: This is a development server. Do not use it in a production deployment.
 Use a productiwww.cppcns.comon WSGI server instead.
* Debug mode: off
* Running on all addresses.
 WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://172.17.0.2:5000/ (Press CTRL+C to quit)
172.17.0.1 - - [13/Jan/2022 08:50:31] "GET / HTTP/1.1" 200 -
172.17.0.1 - - [13/Jan/2022 08:50:31] "GET /favicon.ico HTTP/1.1" 404 -

到此这篇关于Dockerfile构建一个Python Flask 镜像的文章就介绍到这了,更多相关Dockerfile构建一个Python Flask 镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜