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 5000STOPSIGNAL 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
![](https://img-blog.csdnimg.cn/img_convert/b6f45bb6e7346d0df55a2729df4d0560.png)最后,我们自己构建的镜像可以通过 docker save 命令导出给别的小伙伴使用,还可以用 docker push 命令推送到 registry 服务器上给别的小伙伴使用呢,是不是很便捷呀!内容全面升级,4 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+,年薪50W+)!直推 BAT 名企测试经理,普遍涨薪 50%+!###
⬇️ 点击“阅读原文”,提升测试核心竞争力!
[原文链接](https://mp.weixin.qq.com/s?__biz=MzU3NDM4ODEzMg==&mid=2247499323&idx=1&sn=4033da21720015140d585855b251c8a0&chksm=fd319cf0ca4615e6edf1fb4c684a61d3ab5e2a2eab36d227e2607f410de700d6592b423f0d93#rd) > 获取更多技术文章分享和免费资料领取点击链接:https://qrcode.testing-studio.com/f?from=CSDN&url=https://ceshiren.com/t/topic/16586
> > [获取更多技术文章分享和免费资料领取点击链接](https://qrcode.testing-studio.com/f?from=CSDN&url=https://ceshiren.com/t/topic/16586)
Docker 镜像构建可以分享的快乐相关推荐
- 追求极简:Docker镜像构建演化史
// Dockerfile.target.alpine 自从2013年dotCloud公司(现已改名为Docker Inc)发布Docker容器技术以来,到目前为止已经有五年多的时间了.这期间Dock ...
- docker 导入镜像_官方下一代Docker镜像构建神器 -- BuildKit
BuildKit是Docker官方社区推出的下一代镜像构建神器--可以更加快速,有效,安全地构建docker 镜像.Docker v18.06已经集成了该组件.BuildKit可用于多种导出格式(例如 ...
- Docker教程(四) Docker镜像构建
Docker教程(四) Docker镜像构建 本文链接:https://blog.csdn.net/yuan_xw/article/details/77744272 Docker教程(四) Docke ...
- Dockerfile 文件结构、docker镜像构建过程详细介绍
[Docker那些事]系列文章 Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战 ...
- skywalking—docker镜像构建k8s部署
前言 skywalking是个非常不错的apm产品,但是在使用过程中有个非常蛋疼的问题,在基于es的存储情况下,es的数据一有问题,就会导致整个skywalking web ui服务不可用,然后需要a ...
- 从Docker镜像构建演化史来了解多阶段构建的影响
现在很多开发者都会慢慢习惯在开发环境通过Docker来构建开发环境,有时候可能会有环境移植的问题,所以需要我们写好一套Dockerfile来构建相关的开发镜像,既然说到镜像,那我想问问大家了解Dock ...
- 【工作向】docker镜像构建方法与命令
序言 docker镜像制作,学习记录 1. docker镜像制作的常见方法 1.1 docker commit基于已有容器构建镜像(手工) 这种方法将已有容器存为新的镜像,但是不建议使用使用这种方式, ...
- Docker学习(3)-Docker镜像构建和使用
Docker学习(1)-Docker简介 Docker学习(2)-Docker基础1 Docker 镜像与制作 Docker 镜像内是否包含内核(bootfs)? 首先,从镜像的体积大小来说,一个比较 ...
- Docker 镜像构建之 Dockerfile
Docker 镜像构建之 Dockerfile 在 Docker 中构建镜像最常用的方式,就是使用 Dockerfile.Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜 ...
最新文章
- AI技术如何帮助研究人员重现历史的气味?
- mysql 修改配置生效_linux下面MySQL变量修改及生效
- C# 泛型多种参数类型与多重约束 示例
- Android之内核学习笔记
- java请求接口示例_Java 8:功能接口示例
- 文件系统及程序的限制关系: ulimit
- Android中样式及主题
- Windows连接Linux的常用工具
- 红芯事件追踪:官方致歉承认基于开源架构;创始人履历被指夸大
- Linux下的目录简介
- SSM框架原理,作用及使用方法
- linux消息队列 性能,消息队列消息总大小的问题
- c语言编程实现电脑关机,C语言让电脑关机?system函数功能够大够硬
- 微信小程序九宫格抽奖大转盘
- 三次握手时,客户端发送的 SYN 报文为什么会被丢弃?
- JAVA多媒体网络教学计算机毕业设计Mybatis+系统+数据库+调试部署
- C++实现的BP神经网络(代码与详解)
- 修改html文件500错误信息,打开网页提示 HTTP500错误的终极解决方法
- 圣斗士里隐瞒了非常恐怖的剧情
- Idea中new project项目与new module项目区别与验证
热门文章
- 团队-中国象棋游戏-模块测试过程
- OushuDB入门(四)——数仓架构篇
- 小黄车们的命:押金难退成共享家族“职业病”
- eclipse怎么恢复默认布局
- 漫谈程序员系列:谁是为加班而生的
- html给文字添加音标
- “元宇宙”虚拟世界的营销法则 “品牌元宇宙空间”算什么?
- 时之扉手游如何在电脑上玩 时之扉手游模拟器教程
- Java进阶篇之接口
- 嗯呐..第一条博客....纪念石家庄培训的晚上....最简单的STL vector