前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 镜像构建可以分享的快乐

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

原创
作者头像
霍格沃兹测试开发
发布2022-04-26 14:11:11
5480
发布2022-04-26 14:11:11
举报
文章被收录于专栏:测吧测试开发

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

Docker 镜像构建

新建 app.py 文件

代码语言:javascript
复制
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World! Hogwarts.'

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

新建 Dockerfile-build 文件

代码语言:javascript
复制
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 命令构建镜像,

代码语言:javascript
复制
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 来访问启动的服务。

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker 镜像构建
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档