news 2026/9/19 7:47:15

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/9/17 14:00:32

《蒸汽、钢铁与无限心智》深度研究:我们是否正在重复100年前工厂主的错误?

1. 核心论断:历史隐喻下的"水轮阶段"困境 1.1 工业革命的历史镜鉴 1.1.1 蒸汽机初期的认知局限:水轮替换陷阱 在工业革命初期,英国兰开夏郡的纺织工厂最初依河而建,依靠水车驱动机械运转。这种动力模式虽然利用了自然力量,却受限于地理位置与季节变化,将生产…

作者头像 李华
网站建设 2026/9/15 17:52:17

汽车制造业可观测性平台选型指南

行业现状与痛点分析随着汽车行业向智能化、网联化、电动化转型,传统汽车制造企业正面临数字化转型的深刻挑战。现代汽车制造生态系统日益复杂,涵盖了生产线设备、供应链管理系统、车联网平台、移动应用程序和经销商网络等多个层面。主要痛点包括&#xf…

作者头像 李华
网站建设 2026/9/15 16:02:15

面试-RMSNorm和LayerNorm的区别

1 LayerNorm 背景: 在神经网络中,每一层输出都将作为下一层的输入。 问题: 在训练过程中,前一层参数的微小更新,所带来的输出会导致后一层输入的分布发生剧烈变化。这就是层与层之间的动态失调。俗称 内部协变量偏移(Internal Covariate Shift)。 现象: 比如,第一层…

作者头像 李华
网站建设 2026/9/15 7:27:40

GPU 和 CPU 渲染谁更顶?新手必看的选型指南

在3D渲染、影视后期、游戏开发领域,“GPU与CPU渲染选哪个”是高频争议题。新手纠结硬件选型,老手权衡效率与质量,实则二者无绝对优劣,核心是适配场景——如同搬东西,CPU像法拉利(快但装载量小)&…

作者头像 李华
网站建设 2026/9/15 7:27:26

【六杆】六杆快速回归机制运动学和动力学分析附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

作者头像 李华