专栏首页zhangdd.com定制nginx Dockerfile 支持lua环境,k8s虚拟化基础

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 容器化技术基础知识自测笔试题

    A. apiserver/controller-manager/scheduler/kube-proxy/service/etcd

    没有故事的陈师傅
  • Docker 从入门到实践

    小小科
  • 从一到万的运维之路,说一说VM/Docker/Kubernetes/ServiceMesh

    文章的名字起的有点纠结,实际上这是一篇真正从基础开始讲解,并试图串联起来现有一些流行技术的入门文章。 目前的企业级运营市场,很有点早几年前端工程师所面临的那样...

    俺踏月色而来
  • Kubernetes全栈架构师(Docker基础)--学习笔记

    Docker:它是一个开源的软件项目,在Linux操作系统上,docker提供了一个额外的软件抽象层及操作系统层虚拟化的自动管理机制。

    郑子铭
  • 基于 Kubernetes 的持续部署CD方案详解

    本技术方案为基于 kubernetes (下文简称 K8S )为核心的持续部署(下文简称CD)方案,可以满足开发方的程序级日志查看分析,运维方的快速扩容与日常运...

    DevOps时代
  • 推荐9-一看就懂-Docker容器化

    docker的英文意思是 码头工人,意思就是搬运东西的意思,其实这和docker的特点是一样的,docker提供的就是一种容器化搬运东西(我们的软件、程序)的过...

    猿哥
  • 轻松构建微服务之docker和高效发布

    docker在创建容器进程的时候可以指定一组namespace参数,这样容器就只能看到当前namespace所限定的资源,文件,设备,网络。用户,配置信息,而对...

    kubernetes中文社区
  • DevOps 实战:Jenkins Docker

    随时 Docker 的普及,云原生时代已经到来,开发工程师对应用环境的掌控力进一步加强,运维成本进一步降低。DevOps 采用 Docker 更是如虎添翼,持续...

    可可爱爱没有脑袋
  • Spring Boot 项目转容器化 K8S 部署实用经验分享

    对于各个项目分环境部署,最麻烦的就是配置文件的问题,不同的环境需要加载不同的配置,好在 Spring Boot 框架加载配置是非常方便的,具体如何加载配置文件可...

    哎_小羊
  • 谈谈业务容器化——降低接入成本

    本文介绍业务方容器化的成本,同时谈谈如何降低这些成本,从而让容器化过程更为顺畅。业务方的接入成本主要有如下四种:

    哲洛不闹
  • Ingress-Nginx 服务暴露基础学习与实践(1)

    本章讲解通过服务发现的功能进行实现 , 由 Ingress controller 来提供路由信息的刷新, Ingress controller可以理解为一个监视...

    WeiyiGeek
  • 前端部署演化史

    前端一说起刀耕火种,那肯定紧随着前端工程化这一话题。随着 react/vue/angular,es6+,webpack,babel,typescript 以及 ...

    前端劝退师
  • 比Minikube更快,使用Kind快速创建K8S学习环境

    K8S 如火如荼的发展着,越来越多人想学习和了解 K8S,但是由于 K8S 的入门曲线较高很多人望而却步。 然而随着 K8S 生态的蓬勃发展,社区也呈现了越来...

    落跑架构师M
  • 前端运维部署那些事

    nrm 更多用于如果公司内网部署了私有仓库,也就是方便用nrm作来源切换,也有益于依赖的版本管理,如果你想搭建自己的私有仓库,可以使用verdaccio,可以看...

    树酱
  • 从0开始在K8S上创建PHP Web应用

    上图描述了我们需要创建的 Containers,其中 PauseContainer是 Kubernetes自带的所以我们不用关心,但是十分重要,未来将会有一篇文...

    overtrue
  • Docker之旅

    记得以前电脑很贵,微软系统很流行。为了解决兼容性测试问题,我们搭建了很多虚拟机。当时比较流行的是vitural box, vmware。比如当时最新系统是win...

    赵云龙龙
  • Docker 构建 Tengine 2.2.2 镜像

    Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型...

    緣來
  • Docker入门-Dockerfile的使用

    镜像的定制实际上就是定制每一层所添加的配置、文件。我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,这个脚本就是Dockerfile。

    小码农薛尧
  • Dockerfile语法概要

    看到文章标题,有一定云原生相关技术经验的读者可能会说,都2021年了,怎么还在写Docker相关的文章?

    仙人技术

扫码关注云+社区

领取腾讯云代金券