码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Docker 镜像构建可以分享的快乐


    通过上一篇 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-alpine LABEL maintainer="hogwarts" # 工作路径设定为 /code WORKDIR /code # 复制 app.py 到容器内 /code 目录 COPY app.py /code # 创建环境变量给 Flask 使用 ENV FLASK_APP app.py ENV 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 的目录下。

    68aeb378efbb76c175baa36277fec028.jpeg

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

    ac715790aef25c4da2f375cea529a5c0.jpeg

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

    docker run --name app -p 5000:5000 app:v1.0f6b12009f528932b9b62c3f7400ac118.jpeg

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

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


  • 相关阅读:
    【超好懂的比赛题解】2022 Jiangsu Collegiate Programming Contest 比赛题解
    滑动窗口分位数
    面试题54:浏览器/HTTP缓存机制
    【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
    K8s Pod 创建埋点处理(Mutating Admission Webhook)
    matlab新建数据字典及如何导入
    大数据Hadoop之——HDFS小文件问题与处理实战操作
    找不到mfc140u.dll,无法继续执行代码 cdr
    浅谈webpack
    js 连接快手打印组件并实现打印
  • 原文地址:https://blog.csdn.net/Hogwartstester/article/details/126623662
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号