定製nginx Dockerfile 支持lua環境,k8s虛擬化基礎

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章