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有个缺陷,没办法封装元数据级别的信息,这只能封装文件级别的变化,不能声明环境变量,不能声明启动命令,只能封装文件级别的变化

相关推荐
RisunJan9 小时前
Linux命令-rlogin(远程登录)
linux·运维
深圳恒讯10 小时前
菲律宾云服务器与传统VPS的架构差异
运维·服务器·架构
蓝天下的守望者10 小时前
svt_apb_if里的宏定义问题
运维·服务器·数据库
小林ixn10 小时前
从“玩具工具”到“跨语言利器”:MCP 协议实战解析
运维·服务器·网络
小顿的企业观察11 小时前
中企出海战略规划,正在从“走出去”转向“走进去”
大数据·运维·人工智能·产品运营·制造
数智化转型推荐官11 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
看菜鸡互11 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
liguojun202514 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
Promise微笑14 小时前
红外分辨率 160×120、320×240、384×288 与 640×480实战选型指南
大数据·运维·人工智能·物联网
云飞云共享云桌面15 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡