定制nginx Dockerfile 支持lua环境,k8s虚拟化基础

7 篇文章 0 订阅
2 篇文章 0 订阅

FROM centos:7.7.1908
MAINTAINER zhangdd
LABEL Description=”基于CentOS 7,安装nginx-1.16.1″ Version=”1.0″
#root
RUN echo “root:123456” | chpasswd
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo ‘Asia/Shanghai’ >/etc/timezone

RUN echo “export LUAJIT_LIB=/usr/local/luajit/lib” >> /etc/profile
RUN echo “export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0” >> /etc/profile &&\
source /etc/profile

#nginx
ADD nginx /usr/local/nginx
ADD luajit /usr/local/luajit
ADD lualib /usr/local/lualib

# 创建tomcat的用户,并自动创建用户目录, 指定tomcat用户使用bash
RUN groupadd -g 1001 tomcat
RUN useradd -d /webapp -u 1001 -g tomcat –shell /bin/bash tomcat
# 设置tomcat用户的密码
RUN echo “tomcat:123456” | chpasswd
# 将工作目录切换到 /usr/local/nginx, 之后的操作, 的基础目录为/usr/local/nginx
WORKDIR /usr/local/nginx
# 修改 /usr/local/nginx 目录的拥有者为tomcat. (默认的拥有者为root)
RUN chown -R tomcat:tomcat /usr/local/nginx
# 将当前操作者的身份从root切换为tomcat, 后续所有操作, 都将是以tomcat身份运行
USER tomcat
# 容器监听 80端口
EXPOSE 80
EXPOSE 443

#添加环境变量
ENV PATH /usr/local/nginx/sbin:$PATH

#entrypoint的作用是,把整个container变成了一个可执行的文件,这样不能够通过替换CMD的方法来改变创建container的方式。
#但是可以通过参数传递的方法影响到container内部,每个Dockerfile只能够包含一个entrypoint
#当定义了entrypoint以后,CMD只能够作为参数进行传递
ENTRYPOINT [“nginx”]

#相当于在容器执行:nginx -g “daemon off;”
CMD [“-g”,”daemon off;”]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值