news 2026/4/26 19:50:24

Docker容器镜像 (镜像介绍和镜像制作,测试人员如何使用镜像)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker容器镜像 (镜像介绍和镜像制作,测试人员如何使用镜像)

文章目录

  • 1. 镜像介绍
    • 镜像使用场景
  • 2. docker制作镜像
    • docker commit-不推荐
    • dockerfile 创建镜像
      • dockerfile指令解释
      • 创建镜像步骤
    • 开发有直接拉取镜像操作
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. 镜像介绍

Docker容器镜像:Docker容器的构建块,它是一个轻量级、独立的可执行软件包。
镜像:包含了运行应用程序所需的所有内容:代码、运行时环境、系统工具、系统库以及依赖项。
镜像是一个只读的模板,可以用来创建容器实例。
【注】镜像:可以看作一堆文件
测试人员:使用镜像搭建测试环境

镜像使用场景

  1. 应用程序打包与交付:将应用程序及其依赖项打包成独立的可移植单元,简化部署流程。
  2. 多语言开发环境:创建包含特定开发环境的容器,避免本地环境配置问题。
  3. 持续集成与持续交付(CI/CD):用于构建、测试和部署应用程序,加速软件交付速度。
  4. 微服务架构:每个微服务打包为一个独立容器镜像,实现服务解耦与独立部署。
  5. 资源隔离与安全性:在同一主机上运行多个应用程序,确保隔离和安全性。
  6. 跨平台与环境一致性:在任何支持Docker的平台上运行,确保部署一致性。

2. docker制作镜像

根据基础镜像搭建一个容器,在容器中安装各种软件,满足自己的使用,成为一个新的镜像;

docker commit-不推荐

dockercommit 已有镜像名称 想要创建的镜像:版本标签dockercommit jenkins jenkins:v10

缺点:

  1. 制作的镜像是一个黑盒,不能知道镜像具体做了什么;
  2. 丢失镜像后,无法复现,没有记录,不友好;

dockerfile 创建镜像

dockerfile: 是一个文件,存储各种命令;可以看作一个自动化脚本;

Dockerfile 是一个文本文件,描述了如何构建镜像(安装什么软件、复制哪些文件、启动什么命令等)。

执行过程:
创建临时容器→运行相关安装指令→build制作镜像→tagged-打标签;

dockerfile指令解释

  1. FROM (指定继承自哪个基础镜像)
  2. RUN (运行shell命令)
  3. ADD/COPY (复制文件)
  4. USER (指定运行用户)
  5. ENTRYPOINT (指定容器启动命令)
  6. ENV (指定环境变量)

dockerfile示例:

FROM centos:7 ADD entrypoint.sh /rootUSERroot RUN yuminstall-ywgetvimRUN yuminstall-yvimwgetRUN yuminstall-ywgetvimgitRUN yuminstall-ywgetRUN yuminstall-y openssh-server openssl RUN yuminstallwgetvimRUN yuminstallgitvimUSERjenkins WORKDIR /root ENTRYPOINT["/bin/bash","/root/entrypoint.sh"]

创建镜像步骤

【注】创建新镜像前提是在基础镜像上进行扩展

  1. 创建Dockerfile文件,其中包含一组指令,创建想要的镜像;(相当于写一个自动化脚本配置相关命令)
    【注】
    a: 保证Dockerfile文件下没有其他内容,创建镜像是需要将工作目录中所有文件上下文发送给docker
    b: 目录名约定为:Dockerfile
catDockerfile
  1. 配置Dockerfile文件,如果开发有直接复制过来(或者直接使用已经开发好的镜像)

  2. docker build命令创建镜像
    docker build -t [创建镜像名称] [工作目录]

# 创建镜像,工作目录.代表在当前目录下读取Dockerfile文件dockerbuild -t runoob/centos:6.7.# 如果不在Dockerfile目录 使用-f指定dockerfiledockerbuild -t tmp:v1.0.

参数说明:
-t :指定要创建的目标镜像名称
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径;
【注】docker build 默认读取工作目录下Dockerfile的文件;
工作目录:外部Dockerfile文件目录路径

上述是开发只给源码,需要自己创建镜像,但是需要使用开发的Dockerfile文件;

开发有直接拉取镜像操作

测试人员直接使用开发人员的镜像部署测试环境;

  1. 获取开发提供的镜像
    开发通常会把镜像推送到 镜像仓库,如 Docker Hub、Harbor、阿里云 ACR 等
  2. 拉取镜像
dockerpull 镜像名称dockerpull company-registry/my-service:feature-login-v2

3.启动容器作为测试环境

dockerrun\--name test-env-login\-d\-p8080:8080\-v $(pwd)/test-data:/app/data\-eENV=staging\--network my-test-net\company-registry/my-service:feature-login-v2

【注】通过 -e(环境变量)、-v(挂载配置/数据)、–network(网络)等方式定制测试环境,而不修改镜像本身;


总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 1:55:58

小程序毕设选题推荐:基于springboot+Android的酒店预订系统App的设计与实现基于Android的旅游景点酒店预订管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/23 19:06:32

【毕业设计】基于springboot+Android的酒店预订系统App的设计与实现小程序(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 10:20:46

Vidu Q2参考生Pro全球上线

2026年1月27日,Vidu正式宣布Q2参考生Pro模型全球上线,提出极具颠覆性的 “万物可参考” 视频生成理念。该模型突破性地支持2个视频4张图片 的多模态混合输入,全面覆盖 特效、表情、纹理、动作、人物、场景 等六大核心参考维度,实现…

作者头像 李华
网站建设 2026/4/26 13:09:55

2026 年 5 款最适合 3D 艺术家的渲染软件推荐(附云渲染加速方案

在 2026 年,渲染软件的工作效率、画质表现与兼容生态仍然是选择渲染软件的关键考量指标。以下是经综合评估后推荐的 5 款顶级渲染软件:🥇1. Enscape — 实时 BIM 渲染利器适合人群:建筑师、设计可视化团队 核心优势:实…

作者头像 李华
网站建设 2026/4/18 10:59:55

前端技术架构详解:Vue 3 + TypeScript + Vite 在具身 AI 系统中的实践

目录 前言1 为什么前端在 AI 具身系统中如此关键1.1 前端不只是“页面”,而是交互中枢1.2 实时性与复杂状态管理的双重挑战 2 整体前端架构分层设计2.1 分层设计的总体思路2.2 组件层:界面与交互承载2.3 Services 服务层:外部能力的统一封装2…

作者头像 李华