写点什么

Docker 镜像构建可以分享的快乐

  • 2022 年 8 月 31 日
    北京
  • 本文字数:814 字

    阅读完需:约 3 分钟

通过上一篇 Dockerfile 语法与指令的学习,本节就开始使用 Dockerfile 来制作自己的 Docker 镜像啦。

Docker 镜像构建

新建 app.py 文件

from flask import Flask
app = Flask(__name__)
@app.route('/')def hello(): return 'Hello World! Hogwarts.'
复制代码

本代码主要功能是当我们访问页面的时候显示一段文字“Hello World! Hogwarts.”。

新建 Dockerfile-build 文件

FROM python:3.7-alpineLABEL maintainer="hogwarts"
# 工作路径设定为 /codeWORKDIR /code
# 复制 app.py 到容器内 /code 目录COPY app.py /code
# 创建环境变量给 Flask 使用ENV FLASK_APP app.pyENV FLASK_RUN_HOST 0.0.0.0
# 安装 gcc 工具、python 的依赖RUN apk add --no-cache gcc musl-dev linux-headers && pip install flask
# 映射端口EXPOSE 5000
STOPSIGNAL SIGTERM# 为容器设置默认启动命令CMD ["flask", "run"]
复制代码

使用 build 命令构建镜像,

docker build -f Dockerfile-build -t app:v1.0 .
复制代码
  • 默认 Dockerfile 要在当前目录下,才可以直接运行 docker build。


    如果 Dockerfile 在别的路径下面则需要添加-f 参数指定 Dockerfile 的路径。

  • -t app:v1.0:指定构建的镜像名字

  • .:构建镜像时的上下文目录。固定写法,构建镜像时要先切换到放有 Dockerfile 的目录下。



  • 镜像构建完成后,就可以使用新镜像提供服务啦。可以使用 docker images | grep app 来查看生成的镜像。



  • 我们可以通过 docker run 命令启动我们自己构建的镜像噢。最后通过浏览器访问 http://你的 IP:5000 来访问启动的服务。

docker run --name app -p 5000:5000 app:v1.0
复制代码



最后,我们自己构建的镜像可以通过 docker save 命令导出给别的小伙伴使用,还可以用 docker push 命令推送到 registry 服务器上给别的小伙伴使用呢,是不是很便捷呀!

免费领取:性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档

http://qrcode.testing-studio.com/f?from=infoQ&url=https://ceshiren.com/t/topic/16565


用户头像

社区:ceshiren.com 微信:ceshiren2021 2019.10.23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
Docker 镜像构建可以分享的快乐_霍格沃兹测试开发学社_InfoQ写作社区