docker构建nginx镜像

  • 思路
    1、yum或源码编译安装(1.configure 2.make 3.make install) RUN
    2、安装哪些模块 RUN
    https://nginx.org/en/docs/
    3、nginx初始化(修改哪些配置)RUN
    4、启动 CMD ENTRIPOINT

先不急着Dockerfile,建立一个容器,先在里面测试安装好,ok后再整理到Dockerfile

//-it参数是在前台运行
docker run -it centos
  • Dockerfile-nginx
FROM centos:7
MAINTAINER Steven Qin
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;"]
  • 构建基本镜向命令
docker build -t nginx:v1 -f Dockerfile-nginx .

nginx:v1指定tag版本为v1,Dockerfile-nginx是Dockerfile .指的是当前上下文是当前目录

  • 构建项目打包镜向
    1、当前目录建立index.html
vim index.html
vim Dockerfile

2、Dockerfile中输入内容

FROM nginx:v1
COPY index.html /usr/local/nginx/html

3、构建项目打包镜像nginx:v2

docker build -t nginx:v2 -f Dockerfile .

4、生成镜像文件如下:


5、通过镜像来生成容器

docker run -d --name nginx02 -p 88:80 nginx:v2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容