Dockerfile 搭建 Nginx基础镜像和Nginx项目镜像

减少Docker镜像的大小:每个 RUN 指令后删除多余文件

更多好的优化dockerfile方案,请查看这位博主的内容,写得很详细

如何编写最佳的Dockerfile

开工

==

你要给他一个

vim Dockerfile-nginx

然后在里面写这些

FROM centos:7

MAINTAINER www.zenghw.com

RUN yum install -y gcc gcc-c++ make \

openssl-devel pcre-devel gd-devel \

iproute net-tools telnet wget curl && \

yum clean all && \

rm -rf /var/cache/yum/*

RUN wget http://nginx.org/download/nginx-1.15.5.tar.gz && \

tar zxf nginx-1.15.5.tar.gz && \

cd nginx-1.15.5 && \

./configure --prefix=/usr/local/nginx \

–with-http_ssl_module \

–with-http_stub_status_module && \

make -j 4 && make install && \

rm -rf /usr/local/nginx/html/* && \

echo “ok” >> /usr/local/nginx/html/status.html && \

cd / && rm -rf nginx-1.12.2* && \

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/nginx/sbin

#COPY nginx.conf /usr/local/nginx/conf/nginx.conf

WORKDIR /usr/local/nginx

EXPOSE 80

CMD [“nginx”, “-g”, “daemon off;”]

build 生成本地镜像

docker build -t nginx:v1 -f Dockerfile-nginx . # 使用 Dockerfile-nginx 文件构建一个基础镜像 nginx:v1

-t nginx:v1 # 指定版本tag=v1

-f Dockerfile-nginx # 指定dockerfile的名称

. # 指定上下文(比如配置文件在那个位置等)

执行过程中,可能会失败,控制台会有失败报错,根据报错提示,进行处理即可。

这回运行得很顺利,一遍过。

docker images # 查看 nginx:v1 镜像是否创建成功

这个 V1就是我们构建的基础镜像了

docker run -d --name nginx01 -p 88:80 nginx:v1 # 使用 nginx:v1 镜像创建一个容器 nginx01

http://你的IP/status.html # 测试是否可以访问容器nginx01的web服务

浏览器显示 ok 就没问题了

服务是启动了,但为什么会找不到页面呢??

是因为我们在dockerfile里写了 把nginx/html/*目录下的文件全删除了,访问html/status.html就可以访问到的

使用nginx:v1 基础镜像构建一个项目镜像

=======================

生成文件页面展示

touch index.html

编辑里面的内容

vim index.html

在里面写入

hello nginx

新创建本地镜像 并写入内容,指定刚才的 index.html文件

vim Dockerfile_nginx_project_hello

FROM nginx:v1

COPY index.html /usr/local/nginx/html # 需要在当前目录中创建index.html文件

docker build -t nginx:v2 -f Dockerfile_nginx_project_hello . # 使用Dockerfile创建一个项目镜像 nginx:v2

docker run -d --name nginx02 -p 89:80 nginx:v2 # 使用 nginx:v2 创建一个容器 nginx02

http://你的IP/ # 测试访问 容器 nginx:v2中的nginx服务

浏览器显示: I Love

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
存中…(img-2cayI4Ow-1715628920658)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值