欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【Docker】Dockerfile实列-Nginx镜像构建

【Docker】Dockerfile实列-Nginx镜像构建

2024/10/25 4:15:00 来源:https://blog.csdn.net/weixin_63657273/article/details/141674286  浏览:    关键词:【Docker】Dockerfile实列-Nginx镜像构建

一、镜像构建步骤

实验准备:导入centos7镜像(因为现在docker镜像拉取不下了)

docker load -i centos-7.tar.gz

1、建立构建目录,编写构建文件

[root@docker-node1 ~]# mdkir /docker

[root@docker-node1 ~]# cd /docker

[root@docker-node1 docker]# cp ~/nginx-1.26.2.tar.gz .

[root@docker-node1 docker]#  vim Dockerfile

 2、通过dockerfile生成镜像

但是现在报错,下载有问题,需要解决:

安装httpd,再添加一个rhel7.9的镜像文件,进行挂载

yum install httpd -y

 

运行容器

 centos的ip没有?如何解决?

查看容器详细:

[root@localhost docker]# docker inspect centos

全删啦,没用啦,重新写一个仓库:

 测试镜像可用性:

 二、镜像优化

镜像优化策略:

  • 选择最精简的基础镜像
  • 减少镜像的层数
  • 清理镜像构建的中间产物
  • 选择最精简的基础镜像
  • 减少镜像的层数
  • 清理镜像构建的中间产物

方法一:缩减镜像层

 

不难发现,v2比v1要小得多啦

方法二:多阶段构建

现在v3要小得多啦

方法三:使用最精简镜像

使用google提供的最精简镜像

下载地址:GitHub - GoogleContainerTools/distroless: 🥑 Language focused docker images, minus the operating system.

下载镜像:

docker pull gcr.io/distroless/base

但是现在镜像拉不下来,我们可以准备好压缩包,导入镜像

[root@docker-node1 docker]# docker load -i debian11.tar.gz

准备好之后就可以利用最精简镜像构建啦:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com