美文网首页
docker构建nginx镜像

docker构建nginx镜像

作者: booker丶 | 来源:发表于2020-06-17 14:00 被阅读0次

    本文目的如何使用docker构建nginx镜像,使用操作系统centos7,nginx 1.15.2

    1.安装基础镜像

    1.安装基础镜像centos,如果本地没有镜像,会从仓库获取

    docker pull centos
    

    2.nginx安装配置

    在Linux系统中,原始nginx配置所需如下步骤

    1 安装 nginx需要工具
         yum -y install gcc make pcre-devel zlib-devel tar zlib
    2 下载nginx
         wget  http://nginx.org/download/nginx-1.15.2.tar.gz
    3 nginx解压/nginx目录
        tar -zxvf  nginx-1.15.2.tar.gz
    4 切换到/nginx/nginx-1.15.2
        执行./configure
            make
            make install 进行安装
    5 切换到/usr/local/nginx/sbin
        执行 ./nginx 启动nginx
    

    转换dockerfile配置对应下列命令,创建dockerfile文件并放入nginx目录

    #配置nginx Dcokerfile
    FROM centos
    RUN yum -y install gcc make pcre-devel zlib-devel tar zlib
    WORKDIR /nginx
    #由于外网下载较慢,提前下载好了nginx,省略下载步骤
    COPY nginx-1.15.2.tar.gz /nginx
    RUN tar -zxvf  nginx-1.15.2.tar.gz
    RUN cd nginx-1.15.2 && ./configure && make && make install
    EXPOSE 80
    CMD /bin/bash
    

    3.运行nginx

    1.构建nginx镜像

    docker build -t nginxdemo .
    

    执行完成后查看镜像是否构建成功:

    image.png

    2.运行镜像

    docker run -d -P nginxdemo
    

    如下图已运行成功,但显示nginx还未启动


    image.png

    上图中是因为容器和服务还未启动,只有两者都启动才可以,输入下面命令启动:

    #使用后台交互操作启动
    docker run -itd -P nginxdemo
    

    再次查看已成功启动,由于运行时未指定端口,随机暴露了32770端口

    image.png

    访问发现没有访问成功

    image.png

    没有成功是因为nginx未启动,需要进入docker内部启动nginx

    #进入docker容器内部
    docker exec -it c376211dbdae /bin/bash
    #切换到Linux默认安装目录
    cd /usr/local/nginx/sbin
    #运行nginx
    ./nginx
    

    再次访问页面成功
    (ps:这里端口号变为32772是因为32770启动nginx后也没访问成功,开始以为是nginx安装问题,重新搭建后发现是公司网络的限制,切换网络后成功访问o(╥﹏╥)o)

    image.png

    相关文章

      网友评论

          本文标题:docker构建nginx镜像

          本文链接:https://www.haomeiwen.com/subject/ogilxktx.html