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