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

Docker实战:利用commit命令构建镜像

文章目录

  • 1. 实战概述
  • 2. 实战步骤
    • 2.1 下载Nginx镜像
    • 2.2 创建并启动Nginx容器
    • 2.3 修改Nginx主页文件
      • 2.3.1 备份主页文件
      • 2.3.2 修改主页内容
    • 2.4 启动Nginx服务
    • 2.5 访问Nginx主页
    • 2.6 停止Nginx服务并退出容器
    • 2.7 利用commit命令构建新镜像
    • 2.8 利用新镜像生成容器并测试
  • 3. 实战总结

1. 实战概述

  • 本实战围绕 docker 部署 nginx 展开,通过拉取最新 nginx 镜像,创建并启动交互式容器,备份并修改默认主页文件,启动 nginx 服务验证访问效果,再通过 commit 命令将修改后的容器构建为新镜像,最后基于新镜像创建容器并测试,完成 nginx 容器的自定义与复用。

2. 实战步骤

2.1 下载Nginx镜像

  • 执行命令:docker pull nginx:latest

2.2 创建并启动Nginx容器

  • 执行命令:docker run --name hw-nginx -p 8080:80 -it nginx:latest /bin/bash

2.3 修改Nginx主页文件

2.3.1 备份主页文件

  • 执行命令:cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak

2.3.2 修改主页内容

  • 执行命令:echo "<h1>Welcome to Nginx World~</h1>" > /usr/share/nginx/html/index.html

2.4 启动Nginx服务

  • 执行命令:nginx -g "daemon off;"

2.5 访问Nginx主页

  • 访问:http://euler01:8080

2.6 停止Nginx服务并退出容器

  • Ctrl + C停止Nginx服务,再执行命令:exit,退出容器

2.7 利用commit命令构建新镜像

  • 执行命令:docker commit hw-nginx hw-nginx:v1
  • 执行命令:docker images hw*

2.8 利用新镜像生成容器并测试

  • 执行命令:docker run --name test-hw-nginx --hostname master -p 8888:80 -it hw-nginx:v1 /bin/bash
  • 执行命令:nginx -g "daemon off;"
  • 访问http://euler01:8888

3. 实战总结

  • 本次实战完整实现了docker中nginx容器的自定义部署流程。从拉取镜像、创建交互式容器,到修改主页内容并验证访问,步骤清晰可复现。通过docker commit将修改后的容器封装为新镜像,解决了容器重启后修改丢失的问题。基于新镜像创建的容器可直接复用自定义配置,测试访问成功。需注意,启动nginx服务时需使用-g "daemon off;"参数保证前台运行,且通过docker images hw*可快速筛选目标镜像,提升操作效率。
http://www.cnnetsun.cn/news/140906.html

相关文章:

  • 软件测试成本的多维解析与优化路径
  • 5-脱氧-L-阿拉伯糖—结构独特的稀有单糖,药物设计与合成化学的宝贵砌块 CAS:13039-56-0
  • 2-乙酰胺基-1,3,4,6-四-O-乙酰基-2-脱氧-5-硫代-α-D-吡喃葡萄糖 —— 糖化学与药物研发的关键砌块 CAS:67561-97-1
  • 群体分析如何改变你的客户洞察
  • 别再为BGM被下架了,可以生成带声音且无版权素材的AI,真的来了
  • vue和springboot框架开发的校园商店零售管理系统_pt87nuk3
  • vue和springboot框架开发的校园智能AI问答技术的快递物流管理系统_5kf8to85
  • 文件句柄数超限
  • 如何用 Oracle 的账号和权限来连接 ZooKeeper 的客户端认证、ACL 绑定到身份 2 个概念
  • 艾宝体案例 | 以人为本、灵活赋能:Spectris携手KnowBe4打造高效安全意识与合规培训体系
  • 面向2025:融合AI安全的网络安全学习路线与技能清单
  • 迎战2026:网络安全从业者必须掌握的核心技能与实战路线图
  • python-uniapp微信小程序的字典词韵查询系统的设计与实现_79zfkl8b
  • 7个免费网站帮你降低论文AI率,通过万方AIGC查重,亲测有效
  • 【Java毕设全套源码+文档】基于springboot的拍卖管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 基于开源AI智能名片链动2+1模式多商户商城小程序的销售工作性质与能力要求研究
  • 科研人都懂的绘图痛:你是否还在为这些问题熬夜?
  • 传统vs智能:编辑分配效率对比实验报告
  • Watt Toolkit实战:构建电商价格监控系统
  • 技术演进中的开发沉思-258 Ajax:自定义事件
  • 幽冥大陆(五十三)人工智能开发语言选型指南——东方仙盟筑基期
  • 小程序python-uniapp巴山大峡谷景区酒店预定系统的设计与实现_98434fj3
  • 【Java毕设源码分享】基于springboot+vue的易家宜超市云购物系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 用AI一键识别网站技术栈:Wappalyzer的智能分析
  • 【Java毕设源码分享】基于springboot+vue的苹果批发销售管理平台设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【Java毕设源码分享】基于springboot+vue的街道办管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 代码随想录算法训练营第三十八天:最长公共子序列,不相交的线,最大子序和,判断子序列
  • 电脑与手机互传工具--强大的Coolmuster Android Assistant
  • Nacos注册/配置中心
  • Vue-cli如何集成WebUploader完成百万文件分块上传?