当前位置: 首页 > news >正文

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(网络)等方式定制测试环境,而不修改镜像本身;


总结

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

http://www.jsqmd.com/news/310241/

相关文章:

  • 金蝶云星空与孚盟CRM对接-打破数据孤岛、保障数据一致,优化人力配置
  • 畅捷通T+与聚水潭数据对接方案-实现电商与财务成本核算数据融合
  • 李湘:从部队大院走出来的大女主!
  • 《蒸汽、钢铁与无限心智》深度研究:我们是否正在重复100年前工厂主的错误?
  • 空间几何计算:超越量子(量子计算机)范式的文明终极飞跃
  • 计算机小程序毕设实战-基于java和Android酒店民宿预定系统基于springboot+Android的酒店预订系统App的设计与实现小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 学习日记day70
  • 云端开发环境的终局猜想:DevBox模式会一统江湖吗
  • 【LSTM回归预测】基于卷积神经网络结合长短记忆神经网络空间注意力机制CNN-LSTM-SAM数据预测附Matlab代码
  • 震惊!大武口竟有这家送货超快的家电门店!
  • Flutter × OpenHarmony 实战:用 ListTile 构建高复用的设置型列表界面
  • Flutter × OpenHarmony 实战:构建企业级复杂列表布局的最佳实践
  • Flutter × OpenHarmony 跨端网格布局实践:自定义列数的GridView实现
  • 【课程设计/毕业设计】基于Android的旅游景点酒店预订管理系统基于springboot+Android的酒店预订系统App的设计与实现小程序【附源码、数据库、万字文档】
  • 基于Kubernetes的大数据存算分离实践案例
  • 利用AI优化代码质量与性能
  • 【3C 卖家必看】参数图翻译完数字全变了?揭秘 AI 如何精准汉化“硬核数码”详情页,保住你的 5V/2A 和 4K!
  • 专注于交通物流与供应链领域的运筹优化研究与解决方案(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 【技术流】厂家不给 PSD 源文件怎么办?揭秘 AI 如何把 1688“死图”变成“可编辑图”,无损修改文案!
  • 【PPC 救星】广告烧钱点击低?揭秘 AI 如何批量生产“高点击率”广告图,让 ACOS 暴跌 30%!
  • JAVA WEB学习日报
  • React架构演变
  • 知名游资最核心最实用心法-北京炒家
  • 这两年,抖音电商有一个非常明显的变化:
  • ADG 系列活动报名开启|聚焦实战技能提升,赋能开发者成长
  • 小程序毕设选题推荐:基于springboot+Android的酒店预订系统App的设计与实现基于Android的旅游景点酒店预订管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 《数字化工厂MES项目启动前,业务部门为什么非要花几周画图?答案可能和你想的不一样》
  • 【品牌包装】产品包装全是中文太掉价?揭秘 AI 如何把“中文包装盒”一键变成“国际大牌英文版”!
  • 【转化神器】白底图没人点?揭秘 AI 如何一键翻译“复杂场景图”,在雨天、草地、纹理背景上完美修图!
  • 【亚马逊进阶】A+ 页面(EBC)怎么做多语言?揭秘 AI 如何一键翻译“场景长图”,让你的 Listing 转化率暴涨!