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

张 佃栋 kubernetes, nginx 2020-05-08 314 次浏览 , , , , 没有评论

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;”]

本文出自张佃栋de博客,转载时请注明出处及相应链接。

本文永久链接: https://zhangdd.com/1000.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

回顶部