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

文章目录

    1. 实战概述
    1. 实战步骤
    • 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 利用新镜像生成容器并测试
    1. 实战总结

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*可快速筛选目标镜像,提升操作效率。
相关推荐
木雷坞3 小时前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器
瀚高PG实验室3 小时前
安全版V4.5版本docker容器license过期问题处理步骤
安全·docker·容器·瀚高数据库
java_logo3 小时前
SiYuan 思源笔记 Docker 部署终极指南:Windows+Linux 双平台
windows·笔记·docker·思源笔记·思源笔记部署·docker部署思源笔记·思源笔记文档
Hello.Reader4 小时前
Ubuntu 上正确安装 Kali 虚拟机、Docker 与 kail 工具指南
linux·ubuntu·docker
筱_智5 小时前
Docker学习-超详细-通俗易懂(从入门到精通)
学习·docker·容器
EAIReport5 小时前
Docker与K8s核心解析:共同性、差异性及实战适配指南
docker·容器·kubernetes
江湖有缘6 小时前
容器化部署|Docker搭建Blinko轻量笔记系统
笔记·docker·容器
炸裂狸花猫7 小时前
开源身份认证与访问管理平台 - Keycloak(二)
docker·云原生·容器·kubernetes·开源·keycloak·sso
炸裂狸花猫7 小时前
开源身份认证与访问管理平台 - Keycloak(一)
docker·云原生·kubernetes·开源·devops
rustfs7 小时前
MinIO 国产平替,RustFS 发布 Beta 版本啦
分布式·docker·云原生·rust·开源