docker commit 封装镜像

1.创建基础容器

bash 复制代码
docker run --name nginx -p 80:80 -d 163
docker exec -it nginx /bin/bash
bash 复制代码
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo			#将网络源替换为清华源
bash 复制代码
yum clean all
yum -y install gcc gcc-c++ make pcre pcre-devel zlib zlib-devel lrzsz
bash 复制代码
#上传nginx源码包		解压并进入
./configure --prefix=/usr/local/nginx && make && make install
echo "123456" > /usr/local/nginx/html/index.html

#启动服务
/usr/local/nginx/sbin/nginx		

2.浏览器访问本机IP 测试

bash 复制代码
192.168.66.11

3.删除容器中多余文件

bash 复制代码
rm -rf nginx-1.13.8*
yum clean all

#退出容器
exit

4.封装镜像

bash 复制代码
docker ps -a

#将nginx容器封装为nginx:v0.1的镜像
docker commit nginx nginx:v0.1
bash 复制代码
#查看镜像是否封装成功
docker images

#新镜像启动容器
docker run --name nginx -p 80:80 -d nginx:v0.1
bash 复制代码
#进入容器
docker exec -it nginx /bin/bash
#启动nginx
/usr/local/nginx/sbin/nginx

5.浏览器访问测试

浏览器再次访问,成功

6.说明

commit有个缺陷,没办法封装元数据级别的信息,这只能封装文件级别的变化,不能声明环境变量,不能声明启动命令,只能封装文件级别的变化

相关推荐
志栋智能6 小时前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化
ai产品老杨7 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议,支持全量源码交付与异构部署
人工智能·docker·边缘计算
武器大师727 小时前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
剑神一笑7 小时前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
蘑菇丁7 小时前
招聘大数据运维工程师(郑州)
大数据·运维
NiceCloud喜云7 小时前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
qq_312920117 小时前
服务器被攻击!完整安全加固清单汇总
运维·服务器·安全
leaves falling7 小时前
深入理解Linux进程控制:从fork到exec,手写一个迷你Shell
linux·运维·服务器
朝阳5818 小时前
MySQL 主从复制 — Docker 双机灾备方案
数据库·mysql·docker
cd_949217218 小时前
水处理市场升级,台州海德能环保科技凭技术创新与服务并重脱颖而出
大数据·运维·科技